Meu UART recebe um caractere nulo às vezes

0

Em um sistema embarcado, eu uso um GPS com outros dispositivos conectados em 3 UARTs. Quando eu uso o comando cat ou minicom com UARTs / dev / ttyUSB0 e outros, perco caracteres (recebo caractere nulo em vez de caracteres excluídos).

/ dev / ttyUSB0: mensagens binárias a 200Hz (230400 bauds)

/ dev / ttyS2: mensagem NMEA a 1 Hz (115200 bauds)

/ dev / ttyS1: mensagem NMEA a 2 Hz (115200 bauds)

Às vezes, em / dev / ttyS2: $GPZDA,5[00]5519.00,14,12,2016,,*69[0D][0A]

Às vezes, em / dev / ttyS1: $GPGGA,155513.50,...,472[00]79,M,2.4,0120*65[0D][0A]

A média da carga é de 0,14, 0,11, 0,04.

Gostaria de saber se existe uma opção no kernel para melhorar isso?

Eu uso o kernel 3.11.6

Obrigado

Nota: Se eu definir a taxa de transmissão em 19200 para / dev / ttyS1 e / dev / ttyS2, o problema desaparece para essa porta serial.

Nota 2: Com um conversor usb / serial, tentei conectar a linha TX de / dev / ttyS2 ao meu computador e não tenho caractere nulo. Eu suponho que o sinal não seja perturbado. Além disso, se eu parar o comando cat ou minicom em / dev / ttyUSB0 (200hz), o problema desaparece.

    
por D.Piquet 15.12.2016 / 11:21

0 respostas