Ich bin neu in der Elektronik und hat ein Tutorial über die Bedienung eines 16x2 Character LCD über I2C in Arduino mit liquidCrystal_I2C abgeschlossen. Alles funktioniert gut, aber ich habe eine Frage über die geringe Interaktion zwischen dem I2C und dem LCD. Betrachtet man den Quellcode der Bibliothek, bemerke ich, dass beim Schreiben eines 4-Bit-Nibbles (LiquidCrystal_I2C::write4bits
) der Code das Nibble zuerst an den I2C-Expander schreibt und dann erneut schreibt, wenn das Enable-Bit gepulst wird. Warum ist die erste expanderWrite
erforderlich? Warum kann write4bits nicht einfach pulseEnable
aufrufen (mit gesetztem Schwarzlicht-Bit)?Protokoll zum Schreiben von Daten auf 16x2 LCD über I2C
Ich bin sicher, dass es einen Grund gibt, als ich andere Bibliothek wie RPLCD überprüfte und ein ähnliches Muster sehe. Kann mich jemand aufklären? Vielen Dank.
Vielen Dank! Ich denke, das ist der Grund! –