LCD 20x4 scrive a righe alterne

leo72:
Ma devi instaurare un protocollo di trasmissione, altrimenti non ne esci.
0x00 può essere benissimo un comando come un dato, è solo la posizione in cui lo leggi che gli fa assumere il giusto significato.

Azz Leo, mi vuoi far passare la vecchiaia a fare questa cosa, ogni volta che uso un "if" devo aprire il reference per la sintassi e tu vuoi farmi costruire un protocollo? 4 caratteri significa che sul 328 i/o devo realizzarmi un buffer, controllare che prima ci sia una carattere "normale" altrimenti potrebbe essere un valore di fuse; il valore di fuse lo farei pecedere da uno spazio così farei la distinzione; praticamente se la serie di caratteri che mi arriva è:
00x0agemta questo è un carattere di controllo, se invece mi arriva 00x0 esuf_h è un valore di fuse. Potrei anche farcela, in realtà a me servono solo 5 caratteri:
clear, 1a, 2a, 3a, 4a riga, sempre in posizione 0; se mi riconoscesse cose come ^ & % $ £ mi semplificherei la vita, basta mandarli prima della stringa.
Credo di dover mettere dei ritardi dopo questi caratteri, anche con 4 bit la trasmissione è velocissima, forse era questo il problema ieri, non faceva a tempo ad eseguire il posizionamento che già gli arrivava la stringa. :roll_eyes: