Finito! seguendo i saggi consigli del buon Leo, maestro d'arte programmatoria XD, ho realizzato un semplice protocollo di comunicazione seriale tra due micro. In pratica uno è quello che gestisce tutta la programmazione HV e l'altro invece controlla il keypad esadecimale ed il display LCD, sono collegati col classico scambio tx1/rx2 e rx1/tx2; molto semplicemente ho usato 5 caratteri "speciali" per controllare il clear e il posizionamento del cursore, caratteri che nel firmware del master antepongo alle stringhe di testo inviate con Serial.print.... Qualche esempio: 1 - sul master inserisco il comando Serial.print("$menu principale"); - l'altro micro effettua un clear del display($) e poi fa apparire sulla prima riga la scritta "menu principale";
2 - sul master inserisco il comando Serial.print("$%scrittura"); - l'altro micro effettua un clear del display($), poi si posiziona sulla terza riga (%) e su questa scrive "scrittura";
Semplice e comodissimo! Ad onor del vero Leo mi aveva suggerito una cosa "un po'" più professionale, con tanto di inizio e fine trasmissione, ma era fuori dalla mia portata, mi è bastato aggiungere invece alla fine del mio mini-protocollo un controllo che bloccasse la maggior parte dei caratteri strani e ho risolto.
In tutto ciò un colpo di coda della Legge di Murphy: il tx del micro del display disturbava (tanto per cambiare) la programmazione HV, in quanto sul master purtroppo sono usate anche le linee seriali; ho risolto disaccoppiandolo con una R in serie al segnale e tutto è andato bene. Ora devo solo implementare la gestione dei lock_bit, ma prima devo scrivere la seconda puntata..... :D