www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD funktioniert nur beim On-Chip-Debugging


Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, dass ich den 1000000sten Eintrag zu dem Thema eröffne, aber ich 
werd einfach nirgends fündig.

Ich habe ein LCD 2x16 (LMB162AFC) mit nem Mega16, 8MHz interner Osz. am 
laufen. Ich verwende die Initialisierungen etc (lcdroutines.h) laut 
Tutorial. Ausgeben möchte ich den ADC-Wert der an PA0 angelegten 
Spannung. Beim laufenlassen nach dem Programmieren wird auf dem Display 
nichts angezeigt, beim debugging werden die Zeichen aber wie gewollt 
nacheinander ins LCD geschoben. Beim Step-by-Step debugging ist mir 
aufgefallen, dass der Code in der Funktion lcd_string(char *data) 
hängenbleibt, nachdem das letzte Zeichen geschrieben wurde.

Die Ausgabe auf dem LCD hat folgende Form: "ADC Wert: 222". Dabei wird 
zuerst über lcd_string("ADC Wert: ") der immer gleichbleibende 
textbaustein gesendet, in der nächsten zeile dann der aktuelle adc-wert 
über lcd_string(Buffer), wobei in Buffer mit itoa der adc-wert 
geschrieben wurde.

Setze ich beim debugging nen breakpoint nach dem senden der ersten 
zeichen ("ADC Wert:") und lass das programm laufen, dann werden die 
zeichen auch nicht gesendet, nur beim einzelschritt-debugging werden sie 
gesendet.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann zum 1000sten Mal die Standardantwort für alle die es nicht im 
Tutorial oder den anderen Threads gefunden haben:

1. Es gibt ein Busy Flag bei den LCDs

2. Das ist dann mit 100%iger Sicherheit ein Timingproblem!

Busy Flag nicht oder nicht sauber abgefragt und das LCD mit Daten 
überrannt!
Es gibt dazu z.B. auf Sprut.de eine ausführliche Abhandlung oder im 
Datenblatt.

Ist es denn so schwer die Dokus zu lesen oder die Suchfunktion im Forum 
zuu benutzen?

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.