| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 | struct termios Init_ComPort(int &fd)
{
	struct termios oldone, newone;
 
 
	fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
 
	if(fd < 0) gtk_main_quit();
 
	fcntl(fd, F_SETFL, 0);
 
	tcgetattr(fd, &oldone);
 
	bzero(&newone, sizeof(newone));
 
	cfsetispeed(&newone, B19200);
	cfsetospeed(&newone, B19200);
 
	newone.c_cflag =(CS8 | CLOCAL | CREAD) ;
	newone.c_iflag = IGNPAR;
	newone.c_oflag = 0;
 
	newone.c_lflag = 0;
	newone.c_cc[VMIN] = 0;
	newone.c_cc[VTIME] = 20;
 
	tcflush(fd, TCIFLUSH);
	tcsetattr(fd, TCSANOW, &newone);
 
	return oldone;
}
 
void Close_ComPort(int &fd, struct termios &old)
{
	tcsetattr(fd, TCSANOW, &old);
	close(fd);
 
}
 
void OnClick(GtkWidget *pWidget, gpointer pData)
{
	GtkWidget *pdialog;
	int *pfd = (int*)pData;
	int fd = *pfd;
	char retour[6]= {0,0,0,0,0,0};
 
 
 
	tcflush(fd, TCIFLUSH);	
	int n = write(fd, "AAA",3);
 
 
	int i = read(fd,retour, 3);
	retour[3] = 0;
 
	pdialog = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,"Caracteres envoyes : %i\nCaracteres recu : %i, %s",n,i, retour);
 
 
 
	gtk_dialog_run(GTK_DIALOG(pdialog));
 
	gtk_widget_destroy(pdialog);
} | 
Partager