LCD funktioniert nur beim On-Chip-Debugging

Gast #972587
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.
Gast
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.