1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| int dialMeteo::ouvrirLiaison()
{
fd=open("/dev/ttyS0",O_RDWR |O_NONBLOCK); // Ouverture en lecture ecriture, terminal.
if ( fd == -1) // Si erreur.
return -1;
// Parametrage de la liaison série.
struct termios termios_p;
// Lecture des parametres courants.
tcgetattr(fd,&termios_p);
// On ignore les BREAK et les caracteres avec erreurs de parite.
termios_p.c_iflag = IGNBRK | IGNPAR;
// Pas de mode de sortie particulier.
termios_p.c_oflag = 0;
// Liaison a 9600 bps avec 8 bits de donnees et une parite paire.
termios_p.c_cflag = B9600 | CS8 | PARENB;
// Mode non-canonique avec echo.
termios_p.c_lflag = ECHO;
// Caracteres immediatement disponibles.
termios_p.c_cc[VMIN] = 1;
termios_p.c_cc[VTIME] = 0;
// Sauvegarde des nouveaux parametres.
tcsetattr(fd,TCSANOW,&termios_p);
return 0;
} |
Partager