Domanda timing schermo

Domanda timing schermo

di Matteo Formenti -
Numero di risposte: 1

Buongiorno,

sto facendo dei test sullo schermo e non riesco a capire il motivo della necessità dei delay dopo il trasferimento I2C. Ho capito che la scheda dello schermo necessita di un tempo di avvio di circa 500ms, periodo nel quale tutti i comandi vengono ignorati. Riducendo il delay dopo le trasmissioni sotto a 5ms, alcuni comandi sembra vengano direttamente ignorati, può essere dovuto ad un meccanismo asincrono di aggiornamento del display da parte del microcontrollore sulla scheda?

Guardando il firmware della scheda risulta in parte validata la mia prima affermazione,  la funzione di init del driver HD44780U richiede circa 40ms + 40ms + 40ms + 40ms... la funzione send character invece ha dei delay totali di 116 cicli di un while senza operazioni (quindi circa 0.004375ms seguendo la documentazione sul firmware). Non ci sono altri delay tra la ricezione dell'interrupt e la chiamata alla funzione di scrittura dei caratteri. Supponendo che il firmware sia stato scritto per accomodare le richieste temporali del driver dell'LCD, come mai c'è bisogno di un delay superiore a 5ms dopo l'invio del comando via i2c?

Grazie per l'aiuto

Matteo Formenti

In riposta a Matteo Formenti

Ri: Domanda timing schermo

di Pietro Braione -
Qui entriamo nel novero delle supposizioni, ma penso che c'entri il timing del display controller che disegna i caratteri sul display. Il suo datasheet è all'url https://www.olimex.com/Products/Duino/Shields/SHIELD-LCD16x2/resources/hd44780u.pdf, a pagina 52-53 ci sono le informazioni sul timing. Spero che questo possa essere di aiuto a chiarire.