Hallo LCD-Fans
Vor einiger Zeit hat hier im Forum Cassio einige Routinen zum Ansteuern eines LCD's mit
Standard-Controller HD44780 über I2C ohne entsprechende Bascom-LIB veröffentlicht.
Der Code funktioniert super, es fehlt aber eine DEFLCDCHAR-Funktion und die Anpassung
an andere PCF8574-Pin-Belegungen durch die direkte Hex-Wert-Ansteuerung der Pins ist
immer eine gewisse "Rechnerei" erforderlich.
Meine Idee war, einen universellen Code zu schreiben, in welchem die Pin-Belegung per
Definition frei festgelegt werden kann. Die Befehle und Daten werden einzeln geschickt
und nicht in Paketen zusammengefasst. Das Programm wird so besser nachvollziehbar.
Einen Geschwindigkeitsnachteil konnte ich nicht feststellen.
Es ist auch eine DEFLCDCHAR-Funktion enthalten. Die Zeichen können mit dem Bascom
LCD-Designer erstellt werden und die daraus resultierenden Werte in die DATA-Zeilen
kopiert werden. Das Zeichen Chr(0) kann nicht verwendet werden, muss aber in der
DATA Zeile trotzdem aufgeführt sein, die Werte sind unwichtig. Chr(0) wird als String-
Ende interpretiert und kann somit nicht dargestellt werden. Es stehen somit noch die
Werte Chr(1) bis Chr(7) zur Verfügung.
Einziger Nachteil gegenüber der Standard Bascom-LIB ist, dass Zahlenwerte zuerst in
einen String umgewandelt werden müssen. Die dafür gewonnene Freiheit und Funktions-
Sicherheit ist aber doch auch was.
Für Anregungen und Verbesserungen bin ich sehr dankbar!
Grüsse aus der Schweiz
Thomas
Anhang anzeigen LCD_Arduino_Mini168_I2C_universal.bas
Anhang anzeigen I2C_LCD_universal.bas
Anhang anzeigen I2C_LCD_universal_declare.bas
Vor einiger Zeit hat hier im Forum Cassio einige Routinen zum Ansteuern eines LCD's mit
Standard-Controller HD44780 über I2C ohne entsprechende Bascom-LIB veröffentlicht.
Der Code funktioniert super, es fehlt aber eine DEFLCDCHAR-Funktion und die Anpassung
an andere PCF8574-Pin-Belegungen durch die direkte Hex-Wert-Ansteuerung der Pins ist
immer eine gewisse "Rechnerei" erforderlich.
Meine Idee war, einen universellen Code zu schreiben, in welchem die Pin-Belegung per
Definition frei festgelegt werden kann. Die Befehle und Daten werden einzeln geschickt
und nicht in Paketen zusammengefasst. Das Programm wird so besser nachvollziehbar.
Einen Geschwindigkeitsnachteil konnte ich nicht feststellen.
Es ist auch eine DEFLCDCHAR-Funktion enthalten. Die Zeichen können mit dem Bascom
LCD-Designer erstellt werden und die daraus resultierenden Werte in die DATA-Zeilen
kopiert werden. Das Zeichen Chr(0) kann nicht verwendet werden, muss aber in der
DATA Zeile trotzdem aufgeführt sein, die Werte sind unwichtig. Chr(0) wird als String-
Ende interpretiert und kann somit nicht dargestellt werden. Es stehen somit noch die
Werte Chr(1) bis Chr(7) zur Verfügung.
Einziger Nachteil gegenüber der Standard Bascom-LIB ist, dass Zahlenwerte zuerst in
einen String umgewandelt werden müssen. Die dafür gewonnene Freiheit und Funktions-
Sicherheit ist aber doch auch was.
Für Anregungen und Verbesserungen bin ich sehr dankbar!
Grüsse aus der Schweiz
Thomas
Anhang anzeigen LCD_Arduino_Mini168_I2C_universal.bas
Anhang anzeigen I2C_LCD_universal.bas
Anhang anzeigen I2C_LCD_universal_declare.bas