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]

Responder a