minicom.c 1.16 KB
#include <stdio.h>
#include <termios.h>
#include <sys/fcntl.h>

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);
}