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.