Gast
#5323
Hallo! Ich habe an meinen 8535 ein 2x16 Zeichen LCD angschlossen. Die Ausgabe von Zeichen klappt auch ganz gut. Im Moment steh ich aber vor 2 Problem. Ich habe eine Prozedur geschrieben, die im 4-Bit Modus ein Char an den HD44780 übermittelt. Um nun eine Zeichenkette auf das Display auszugeben durchlaufe ich ein Array von Chars per FOR-Schleife und übermittle jeweils das "aktive" Zeichen mit meiner Prozedur. char TextL1[] = "Teststring"; void main(void) { vInitLcd(); vClearLcd(); for(;;) { unsigned char i = 0; for (i=0; i < (sizeof(TextL1))-1; i++) { vDisplayBusy(); //Prüfen ob Display noch Busy vPutCharToLcd(TextL1[i], DATA_WRITE); //schreiben eines Chars [...] } } der 2. Übergabeparameter (DATA_WRITE) gibt nur an ob ins Daten- oder ins Controlregister geschrieben wird. Nun die Fragen: 1. Wenn ich dem Array bei der Initialisierung gleich meinen Text in Hochkommas zuweise funktioniert alles super. Aber wie kann ich Text im Programmverlauf zuweisen? 2. Der HD44780 nimmt wohl pro Zeile immer 40 Zeichen an. Gibt es eine Möglichkeit ihn so zu initialisieren, dass er nur 16 Zeichen pro Zeile nimmt und das 17. Zeichen (+folgende) in der zweiten Zeile ausgegeben wird? Oder muss man das "manuell" machen? Danke Axel