probleme mit lcd&interrupts

Gast #4910
Lesenswert?

Hallo!

Meine Ausrüstung:

Phytec Kitcon C167 (-> das Übungsboard), LCD Ansteuerung lt. 
http://www.htblmo-klu.ac.at/lernen/siemens/lcdmodul.pdf , 
angeschlossener u. ansprechbarer DS1820

Mein Problem: Der DS1820 soll nach einer bestimtmen Zeit abgefragt und 
die Temperatur auf dem LCD ausgegeben werden.
Nun ja, soweit so gut....ich verwende zur Zeitsteuerung foglenden 
"Aufbau" -> Timer3 als Sekundentimer (wird von T4 reloaded), T2 als 
counter der jede Minute einen Interrupt ausführt der wiederrum die 
Abfrage des DS1820 steuert

Im Debug Modus von Keil funktioniert das ganze ja tadellos, wenn ich 
jedoch versuche zu flashen, hängt sich das ganze System bei dem ersten 
Minuteninterrup auf!

Kann mir da mal jemand helfen?

Noch was: der Temperaturwert ist ein Integer, den ich in eine Floatzahl 
umwnadle und l mit sprintf in einen String umwandle und ihnauf den LCD 
ausgeben zu lassen....leider wird dieser String (ebenfalls wenn ich 
flashe!!) völlig falsch fomatiert ausgegeben (zB komma ist verrutscht 
bzw Stellen sind nach rechts bzw. links gerrückt....etc)


danke für euere hilfe

mfg
Michael

PS: als anhang schicke ich mein programm mit (inkl startup)
Angehängte Dateien:
Gast #4911
Lesenswert?

Hi,

Du solltest versuchen, das Problem etwas mehr einzugrenzen.
Z.B. ist das Problem der Minuten-Int oder der Code, der daraufhin 
ausgeführt wird (measure?  rd_temp?).
Also mal fleissig an das Auskommentieren, bis der Übertäter gefunden 
ist.
Du könntest ausserdem mal versuchen jedem Interrupt eine eigene 
Registerbank zuzuweisen.

Zu deiner Ausgabe: Ich würde ganz auf float verzichten. Ich benutze eine 
Routine, die die Ziffern eines Ints nacheinander ausgibt und an die 
gewünscht Stelle einfach ein Komma ins Display schreibt.

Bis dann,
Ingo.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren