mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Zeilenwechsel klappt nicht...


Autor: Tobias H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tobias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Tobias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.