Hi Ich hab hier meine selbstgeschriebene LCD-Routine. Funktioniert soweit bestens - bis ich versucht habe, Zeilen mit ins Spiel zu bringen. Also es handelt sich um: void lcd_ausgabe(char zeile, char *text) { if (zeile==1) { lcd_daten(0,0b10000001); //Zeile 1 ??? } if (zeile==2) { lcd_daten(0,0b11000001); //Zeile 2 ??? } while (*text) //so lange *string != '\0' also ungleich dem "String-Endezeichen" { lcd_daten(1,*string); //Zeichen ausgeben text++; //nächstes Zeichen auswählen } } Wenn ich daraus folgendes mache: void lcd_ausgabe(char *text) { while (*text) //so lange *string != '\0' also ungleich dem "String-Endezeichen" { lcd_daten(1,*string); //Zeichen ausgeben text++; //nächstes Zeichen auswählen } } funktioniert alles, es werden die ersten 16Zeilen in das Display geschrieben, dann wird bis Zeichen 40 munter weiter geschrieben, ohne das was auf dem Display sichtbar ist und dann wird in Zeile 2 weitergeschrieben. Sobald ich aber versuche, mit lcd_daten(0,0b10000001); //Zeile 1 ??? bzw. lcd_daten(0,0b11000001); //Zeile 2 ??? die Zeilen zu wechseln, erscheint kein Text mehr auf dem Display. Einzig und allein der Cursor ist sichtbar, der scheint mir aber auch an der falschen Stelle zu sein. Kann mir jemand helfen? Ciao Tobias
lcd_daten(1,*string); //Zeichen ausgeben da hat sich noch ein Fehler eingeschlichen. Müsste lcd_daten(1,*text); //Zeichen ausgeben lauten - ändert aber nix am Phänomen, dass ich keine Ausgabe bekomme...
ahh sorry, hab einmal nur daten, statt daten2 verwendet. Somit wurde immer beim Senden eines Zeichens nur bei den ersten 4 bit RS auf 1 gesetzt, bei den folgenden 4 bit nicht. Muss sich beim optimieren eingeschlichen haben. Habs also gefunden!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.