Forum: Mikrocontroller und Digitale Elektronik Anzeige einer Zeichenkette auf dem Display mit dem Controller KS0066!


von Steven F. (iver)


Lesenswert?

Hi an alle,
ich habe ein Display (2 x 20) mit dem Steuer-IC KS0066. Das Display habe 
ich an den AT90CAN128 angeschlossen. Die Initialisierung des 
LCD-Controllers hat soweit geklappt. Jetzt habe ich ein Problem, das mir 
seit 2 Tagen quält:
Ich habe eine Funktion
1
 void lcd_putchar(char c)
 geschrieben zum Anzeigen eines einzigen Zeichens. Diese funktioniert 
auch wunderbar.

Dann bin ich zu dem Schritt gegangen, wo ich eine Funktion geschrieben 
habe, die eine Zeichenkette anzeigen soll. Die letzte Funktion beruht 
auf die erste:
1
void lcd_string(char * data)
2
{
3
  while(*data) //Nullzeichen?
4
5
    lcd_putchar(*data++);
6
}

Das komische ist, folgender Codeausschnitt funktioniert:
1
  lcd_putchar('h');
2
  lcd_putchar('e');
3
  lcd_putchar('l');
4
  lcd_putchar('l');
5
  lcd_putchar('o');
während
1
     lcd_string("hello");
sehr kurz den Text anzeigt, aber dieser verschwindet auch sofort und die 
schwarzen Balken werden direkt angezeigt.


Hat irgendeiner eine Idee, was das Problem sein könnte? Ich habe alles 
probiert und weiß einfach nicht, was das Problem ist.

Grüße,
Iver.

von Bernd G. (bege)


Lesenswert?

Hallo,

hast Du mal nachgeschaut, was Dein Compiler aus daraus macht (List-File) 
?

Ich würde es auch einmal so probieren:
1
void lcd_string(char * data)
2
{
3
  while(*data) //Nullzeichen?
4
  {
5
    lcd_putchar(*data);
6
    data++;
7
  }
8
}

Gruß Bernd

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.