Ola pessoal,
Eu estive trabalhando com comunicacao serial
usando programas em C, e tenho tido alguns
probleminhas.
Quando eu seto a velocidade (por exemplo, 9600),
a taxa de transmiss�o acaba sendo superior em
ordens de magnitude (nesse caso, 19200).
Se eu coloco 19200, obtenho 36k.
A detec��o de que a velocidade est� incorreta
foi atrav�s de um oscilosc�pio mesmo.
Outro problema que eu tive, talvez relacionado,
� que em determinadas situa��es, parece que os
dados n�o s�o transmitidos (se bem que isso pode
ser problema do receptor).
O que eu estou usando para configurar �, basicamente, o seguinte:
long int ARGN, data;
struct termios newtio;
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR | ICRNL;
newtio.c_oflag = 0;
newtio.c_lflag = ICANON;
cfsetospeed(&newtio, BAUDRATE);
cfsetispeed(&newtio, BAUDRATE);
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
Alguem pode me ajudar?
Valeu,
Gabriel
Assinantes em 24/09/2001: 2369
Mensagens recebidas desde 07/01/1999: 133814
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]