Tengo una placa integrada, basada en Allwinner V40, que tiene una interfaz en serie (UART) en los niveles de voltaje TTL. Accedo a esta interfaz con una pequeña placa adaptadora (MAX232) y un adaptador USB RS232 & gt ;.
Normalmente, esta interfaz está configurada para enviar información de depuración (/ dev / ttyS0 en linux). Puedo activarlo y desactivarlo, y puedo enviar y recibir datos como desee. Sin embargo, algo más envía datos exactamente cada diez segundos. Así es como se ve la basura (10 segundos entre cada línea, registrada a 9600 baudios, la tercera línea ha sido enviada por mí).
Para referencia, esta es la primera línea en hexadecimal:
0A 05 31 04 41 6C 4E 0A 02 39 02 F3 F0 F4 F7 F1 F1 F6 F3 F1 F6 F1 FF FF FF FE FF FF FF FF FF FF FF
He intentado cambiar la configuración de baudios, etc., en caso de que algo más se esté enviando con una velocidad de baudios diferente, pero eso no lleva a nada. También intenté deshabilitar Bluetooth, ya que Raspberry Pis tiene un problema similar cuando Bluetooth está habilitado. Eso no ayudó, pero tampoco empeora si Bluetooth se usa activamente.
Este es un UART de dos cables, no hay control de flujo. UART 0 está conectado a PB22 y PB23 en el SoC, lo que parece correcto. Desde mi sys_config.fex (estoy usando el kernel heredado / Allwinner):
[uart0]
uart0_used = 1
uart0_port = 0
uart0_type = 2
uart0_tx = port:PB22<2><1><default><default>
uart0_rx = port:PB23<2><1><default><default>
[uart0_suspend]
uart0_tx = port:PB22<7><1><default><default>
uart0_rx = port:PB23<7><1><default><default>
Espero que alguien reconozca el patrón de bits y pueda decirme qué lo causa. ¿Alguna idea?