www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik probleme mit lcd&interrupts


Autor: Michael (Gast)
Datum:
Angehängte Dateien:

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

Autor: Ingo B. (Gast)
Datum:

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

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.