Come promesso vi mando la seconda puntata
Questa volta si tratta di un quattro righe 40 caratteri.
Questo LCD si comporta come vi fossero due distinti LCD da due righe e 40 caratteri su di un unico PCB.
Bisognerà quindi ogni volta specificare se si deve usare il controllore E1 (prime due righe)o il controllore E2 (seconde due righe) oppure ambedue; di conseguenza, in quest'ultimo caso, ciò che avviene nelle prime due righe avviene parimenti anche nelle seconde due. Questa opportunità va bene, ad esempio, per cancellare il display, si possono infatti cancellare o le prime due righe o le seconde due, o l'intero display.
In termini di software di conseguenza non ci si discosta molto dal 16 caratteri, si tratta di inviare il dato o il comando per LCD al PCF8574A e quando questo è presente alla sua uscita mandare in impulso su E1 o E2.
La precedente discussione con Mauro scaturiva dal poter andare a leggere quando LCD era disponibile per una nuova istruzione, ipotesi scartata perchè costava due pins, uno per l'R/W il secondo per leggere l'interrupt del PCF8574A. Ho invece aumentato la velocità del tutto il DCOCLK è 12Mhz e il clock per I2C è SMCLK/16 (USIDIV_4) invece che SMCLK/64 (USIDIV_6)del caso precedente. Non ho provato, ma sono piuttosto convinto che questo si posa fare anche nel caso della puntata precedente.
L'LCD da me usato necessita di una tensione di alimentazione negativa io, avendone una scatola, l'ho fatta con un 555, ma si può usare quel che si vuole, poichè la corrente è minima.
Ho poi collegato l'hardvare con tre fili lunghi una spanna al LaunchPad (vedi schema), ove ovviamente non era montato alcun processore, e ho usato quest'ultimo come semplice programmatore.
Volevo inviare una foto, ma non è possibile perchè pesa troppo, quindi non mi resta che salutarvi
Paolo