Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <termios.h>
- #include <unistd.h>
- #include <sys/fcntl.h>
- #include <iostream>
- using namespace std;
- int main()
- {
- int fd;
- char c;
- struct termios termios_p;
- /* Ouverture de la liaison serie */
- if ( (fd=open("/dev/ttyUSB2",O_RDWR)) == -1 ) {
- perror("open");
- return 0;
- }
- /* 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 7 bits de donnees et une parite paire */
- // termios_p.c_cflag = B9600 | CS7 | PARENB;
- //8N1
- termios_p.c_cflag &=~PARENB;
- termios_p.c_cflag &=~CSTOPB;
- termios_p.c_cflag &=~CSIZE;
- termios_p.c_cflag |=CS8;
- /* 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);
- /* Affichage sur le terminal */
- write(fd,"Tapez Ctrl-C pour quitter\n",26);
- /* Boucle de lecture */
- while ( (read(fd,&c,1)) >10 ){
- cout <<c;
- //cout <<"Read trame ="<<buff;
- }
- while ( 0 ) {
- read(fd,&c,1);
- if ( c == 0x03 ) /* Ctrl-C */
- break;
- printf("%03u %02x %c\n",c&0xff,c&0xff,c);
- }
- /* Fermeture */
- close(fd);
- /* Bye... */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement