1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

posix serial

Discussão em 'Programação' iniciada por =ramms=, 1 de Dezembro de 2008. (Respostas: 0; Visualizações: 355)

  1. boas.
    estou a tentar mandar um ficheiro binário por rs232.
    estou a ler 99 bytes de cada vez.. ao enviar com o write(), envia até aparecer o '\0'.

    Código:
     while((n = read(fd, buffer, 99))>0)
     {
        write(fds, buffer, 99);
     }
    
    fiz o debug com o gdb.. e isto é o que leio do ficheiro.. mas quando envio, só recebo os 7 primeiros bytes..
    Código:
    (gdb) print buffer
    $2 = "\177ELF\002\001\001\000\000\000\000\000\000\000\000\000\001\000>\000\001", '\0' <repeats 19 times>, "P\024\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000@\000\032\000\027\000UH\211�H\203� H\211}�\211u�H\213}��\002\t\000\000�\000\000\000\000�\000\000\000\000\211\000\000\000"
    
    já agora as configurações que fiz são:

    Código:
    struct termios options;
    
    fsetispeed(&options, baudrate);
    cfsetospeed(&options, baudrate);
    
    options.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
    options.c_oflag &= ~OPOST;
    options.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
    options.c_cflag &= ~(CSIZE|PARENB);
    options.c_cflag |= CS8;
    
     tcsetattr(fd, TCSANOW, &options);
    
    alguem me pode ajudar?;)
     

Partilhar esta Página