Gast
#662276
Hallo,
ich habe gemäß des avr-gcc Tutorials ein 2x16 LCD von Reichelt (KS0070B)
mit einem ATmega8 angesteuert. Das geht soweit auch erstmal.
Schreibe ich nun allerdings mit lcd_data('x'); mehrere Zeichen und komme
an Stelle 16, dann bekomme ich keine oder eine ganz fehlerhafte Ausgabe.
Lasse ich das letzte Zeichen aus und gehe dann mit set_cursor(0,2); in
Zeile 2, dann kann ich auch bis einschließlich Zeichen 15 schreiben, das
16. verursacht auch diesen Fehler. Woran liegt das? Wie kann ich das
vermeiden?
Der Codeschnipsel:
lcd_init();
set_cursor(0,1);
lcd_data('1'); // 1
lcd_data('2'); // 2
lcd_data('3'); // 3
lcd_data('4'); // 4
lcd_data('5'); // 5
lcd_data('6'); // 6
lcd_data('7'); // 7
lcd_data('8'); // 8
lcd_data('9'); // 9
lcd_data('0'); // 10
lcd_data('A'); // 11
lcd_data('B'); // 12
lcd_data('C'); // 13
lcd_data('D'); // 14
lcd_data('E'); // 15
lcd_data('F'); // 16 lasse ich diese Stelle weg, gehts
set_cursor(0,2);
lcd_data('1'); // 1
lcd_data('2'); // 2
lcd_data('3'); // 3
lcd_data('4'); // 4
lcd_data('5'); // 5
lcd_data('6'); // 6
lcd_data('7'); // 7
lcd_data('8'); // 8
lcd_data('9'); // 9
lcd_data('0'); // 10
lcd_data('A'); // 11
lcd_data('B'); // 12
lcd_data('C'); // 13
lcd_data('D'); // 14
lcd_data('E'); // 15
lcd_data('F'); // 16 lasse ich diese Stelle weg, gehts
Danke für Eure Hilfe!
Grüße Pascal