-
-
Hallo,
erstmal zu meinem Problem: Zeichen der Reihe 3 werden in Reihe 1 angezeigt, nach änderung von Parametern geht das in Reihe 1, jedoch nicht mehr in Reihe 2. Noch maliges Anpassen führt nur zum entgültigen Erlöschen des Display.
Ich habe das ganze mit einem eigenen ATmega8 Test Board und der I2C Erweiterung versucht, als Umgebung benutze ich "Atmel Studio 6.2".
Das Display ist ein Displaytech 204A, also ein 20 Zeichen * 4 Zeilen Display .
Im Code habe ich die Zeilen angepasst:
#define LCD_I2C_DEVICE 0x40 /**< Change this to the address of your expander */
#define LCD_LINES 4 /**< Enter the number of lines of your display here */
#define LCD_ROWS 20 /**< Enter the number of rows of your display here */
#define LCD_LINE1 0x00 /**< This should be 0x00 on all displays */
#define LCD_LINE2 0x40 /**< Change this to the address for line 2 on your display */
#define LCD_LINE3 0x14 /**< Change this to the address for line 3 on your display */
#define LCD_LINE4 0x54 /**< Change this to the address for line 4 on your display */
Bei LCD_LINES und LCD_ROWS habe ich auch schon versucht 2 Lines und 40 ROWS, jedoch ohne erfolg.
Eine "i am alive LED" funktioniert nur bis zur lcd_init. dann ist alles eingefroren.
...
while(1)
{
PORTB ^= (1<<PB0);
i2c_init();
PORTB ^= (1<<PB0);
lcd_init();
PORTB ^= (1<<PB0);
unsigned char string1[] = "Alles ATMEGA_8 1";
unsigned char string2[] = "Alles ATMEGA_8 2";
lcd_gotolr(1,1);
lcd_print(string1);
lcd_gotolr(3,1);
lcd_print(string2);
...
- Was kann ich an der Konfiguration falsch gemacht haben?
- Was läuft mit der Anzeige schief (dass Zeile 3 die Fortsetzung von Zeile 1 ist ist mir bekannt, jedoch nicht, wieso Zeichen 21 an Stelle von Zeichen 17 erscheint und ab dann weiter gezählt wird...)
Danke schon mal für die Hilfe.
Grüße
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen