diff --git a/minicom.c b/minicom.c new file mode 100644 index 0000000..656b472 --- /dev/null +++ b/minicom.c @@ -0,0 +1,49 @@ +#include +#include +#include + +void main(void) +{ + int fd; + char c; + struct termios termios_p; + + /* Ouverture de la liaison serie */ + if ( (fd=open("/dev/ttyACM0",O_RDWR)) == -1 ) { + perror("open"); + exit(-1); + } + + /* 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; + /* 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 ( 1 ) { + read(fd,&c,1); + if ( c == 0x03 ) /* Ctrl-C */ + break; + printf("%03u %02x %c\n",c&0xff,c&0xff,c); + } + + /* Fermeture */ + close(fd); + + /* Bye... */ + exit(0); +} \ No newline at end of file -- libgit2 0.21.2