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.