www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom Atmega32 startet prog. neu & macht Probleme


Autor: Ben Lex (joee1)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Uhrzeit Programm in Bascom geschrieben und habe leider 
einige Problme die ich mir nicht erklären kann.

Ich möchte die Uhrzeit über Taster einstellen, also eigentlich recht 
simpel, bei Taster1 sollen die Sekunden hochzählen, bei Taster2 die 
Minuten.

Dies Funktioniert auch sporadisch.

Meine Probleme sind folgende:

1.)
Displayausgabe zeigt nach ein Paar min nur noch Hyroglyphen (für kurze 
Zeit ca. 3 Min.) an, dannach ist es leer und nach wiederum ein paar 
Minuten wird die Zeit wieder korrekt angezeigt.

Ich habe keine Ahnung an was das liegt zumal das LCD bisher bei allen 
Programmen zuverlässig funktioniert. Die Schaltung ist die gleiche da 
alles auf einem Pollin-Testboard läuft

2.)
Sporadisch, nach einigen Tastendrücken um die Uhrzeit einzustellen 
startet das Programm neu.

3.)
Um besser Debuggen zu können gebe ich über die RS232 Schnittstelle die 
Programmposition aus, in der sich das Prog. befindet.

Nach betätigen der Tasten findet der Atmega32 nicht mehr aus der ISR den 
Weg zurück in die Hauptschleife. Dieses Problem tritt auch sporadisch 
auf.

Kann das ein Problem mit dem Stackpointer sein?

Hier ein Terminal-Abschnitt bei dem das Problem sichtbar aufgetreten 
ist.
Nach einigen Minuten findet er den Weg wieder in die Hauptschleife. 
Unten sieht man wie er nur noch jede Sekunde die ISR abarbeitet.
Hauptschleife
Hauptschleife
Hauptschleife
Hauptschleife
Hauptschleife
Hauptschleife
ISR
Taster2, Minuten  15:4:11
Taster2, Minuten  15:5:11
Taster2, Minuten  15:6:11
Taster2, Minuten  15:7:11
Taster2, Minuten  15:8:11
Taster2, Minuten  15:9:11
Taster2, Minuten  15:10:11
Taster2, Minuten  15:11:11
Taster2, Minuten  15:12:11
ISR
Hauptschleife
Hauptschleife
Hauptschleife
Hauptschleife
Hauptschleife
Hauptschleife
ISR
Taster1  15:13:13
Taster1  15:13:14
Taster1  15:13:15
Taster1  15:13:16
Taster1  15:13:17
Taster1  15:13:18
Taster1  15:13:19
ISR
ISR
ISR
ISR
ISR
ISR


Mein Uhrzeit-Programm habe ich in den Anhang als *.txt Datei getan.

Vielen Dank & Grüße
Joe

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ben,

tolle Effekte ergeben sich in Bascom gerne, wenn Stack und Framesize 
nicht stimmen.
Da kann es sein, dass ein Programm scheinbar einwandfrei läuft und 
plötzlich was unerwartetes passiert (-> LCD Anzeige, Reset, etc.), nur 
weil ein paar Unterprogrammsprünge etc ausgeführt wurden.

Da Du für Dein Projekt scheinbar SRAM über hast, einfach mal mit den 
Werten spielen oder besser: in den entsprechenden Tutorial nachlesen.

Viele Glück!


Timo

Autor: Ben Lex (joee1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Timo, danke!

Werde mich morgen nach entsprechenden Tutorials umsehen, wenn das nichts 
bringt spiele ich mal mit den Werten und hoffe das es funktioniert.

Grüße Joe

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.