Sto cercando di fare un LinSlave, ma mi fa impazzire che la zero, su UART non mi riceve i caratteri.
Serial1.begin(9600);
if( Serial1.available() )
Trasmettere va bene, correttamente, alla giusta velocità, sul giusto pin, ricevere nulla, avaiable non viene mai verificato.
C'è da dire che nel protocollo lin c'è un basso iniziale che da frame error.
Però anche dopo, nessun carattere mi viene ricevuto.
Il bus LIN non si può collegare direttamente ad una UART, serve un apposito transceiver, p.e. MCP201.
C'è il transceiver, il mio problema è puramente software.
Help, Help, Help.
I caratteri arrivano al pin 0
Il log è quello che ho allegato, la CPU rileva tutto, ho fatto una copia sul led via software, e il led ha la stessa ricezione.
Se trasmetto, sul pin 1 ho i giusto caratteri con la giusta velocità.
Il buffer non segnala mai nessun carattere ricevuto.
Parzialmente risolto.
Se metto così pianta la ricezione.
Serial1.begin(9600);
pinMode(RXD, INPUT_PULLUP);
Se inverto la ricezione va, ma Rx non è Pullup, come posso fare ?
pinMode(RXD, INPUT_PULLUP);
Serial1.begin(9600);