Bascom Atmega32 startet prog. neu & macht Probleme

#1832810
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.
1
Hauptschleife
2
Hauptschleife
3
Hauptschleife
4
Hauptschleife
5
Hauptschleife
6
Hauptschleife
7
ISR
8
Taster2, Minuten  15:4:11
9
Taster2, Minuten  15:5:11
10
Taster2, Minuten  15:6:11
11
Taster2, Minuten  15:7:11
12
Taster2, Minuten  15:8:11
13
Taster2, Minuten  15:9:11
14
Taster2, Minuten  15:10:11
15
Taster2, Minuten  15:11:11
16
Taster2, Minuten  15:12:11
17
ISR
18
Hauptschleife
19
Hauptschleife
20
Hauptschleife
21
Hauptschleife
22
Hauptschleife
23
Hauptschleife
24
ISR
25
Taster1  15:13:13
26
Taster1  15:13:14
27
Taster1  15:13:15
28
Taster1  15:13:16
29
Taster1  15:13:17
30
Taster1  15:13:18
31
Taster1  15:13:19
32
ISR
33
ISR
34
ISR
35
ISR
36
ISR
37
ISR

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

Vielen Dank & Grüße
Joe
Angehängte Dateien:
Gast #1832840
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

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