[Libreria] PCF8574+HD44780 LCD I2C Library

Grazie dei complimenti,

rispondo alla domanda, l'HD44780 ha un sua procedura di inizializzazine integrata che parte al reset del display, una specie di bios per capirci, che porta il display ad uno stato ben definito (interfaccia 8bit, carattere 5x8, ecc)
In queste condizioni per passare ad interfacciamento 4bit serve solo l'ultima istruzione che vedi nella libreria, e che e' anche l'unico tipo di istruzione che il display e' programmato ad accettare con un unica scrittura (come saprai anche se a 4 bit il display internamente ragiona sempre ad 8 bit e richiede per qualsiasi istruzione l'invio di un doppio nibble), tranne pero', ripeto, l'istruzione che lo porta a 4bit.

Quindi ? a che servono le altre tre ?
Sono preventive, nel caso in cui per qualche motivo il sistema di reset interno non funziona le tre istruzioni precedenti servono a far fare al display quello che gia' internamente dovrebbe fare da solo, cioe' portarlo ad interfacciamento 8bit, 4x8, ecc. Se il reset interno ha funzionato la ripetizione dei tre comandi non comporta problemi tecnici, impiega solo tempo.

Quindi se ci sono problemi di tempistica dell'accensione del display per motivi di progetto si possono evitare le 3 istruzioni e risparmiare 5 millesimi di secondo. Ma se non ci sono problemi di tempi (in qual caso un display impiegando 5ms in piu' per accendersi potrebbe creare problemi ?) si prevede sempre nell'init questa prevenzione, perche' il mancato pilotaggio del display, con probabili scritture di caratteri strani, e' molto piu' grave di 5ms di attesa.

Si fa lo stesso anche se lo si vuole usare ad 8 bit, cioe' normalmente in quel caso servono zero istruzioni (e' gia' ad 8 bit dopo il reset), ma per prevenzione si mettono sempre le tre che vedi in libreria.

Spero di essere stato esauriente quanto lo sei tu quando ti faccio le domande :slight_smile: