Programm bleibt hängen (Atmel, BASCOM)

OP #3782305
Lesenswert?
• ▲
▼
Hallo zusammen,

Generelles:
Atmega328P-PU
BASCOM
ES geht an sich um eine PID Reglelung.
Sollwert wird im Programm vorgegeben und kann mit Poti an ADC verändert 
werden.
Ist-Wert wird über einen DS1820 Sensor ermittelt
Als Display kommt nen 16x2 in 4-Bit zum Einsatz.
Ausgegeben wird nen PWM Signal

nun zum Problem....
ca. 10 Sekunden lang funktioniert "alles" (soweit man das beurteilen 
kann) danach bleibt das Programm/uC einfach hängen. Das merkt man daran, 
das die Ist-Temp nicht mehr aktuallisiert wird und der PWM-Ausgang auf 
0V springt.
Ich habe keine Ahnung warum !?

Der PID teil stammt aus dem BASCOM Beispiel.
Der DS18xx Teil hab ich mir zusammengesucht, als ich mich mit diesen 
Sensoren beschäftigt habe....das hat soweit ohne Probleme funktioniert.


Im Anhang das komplette Programm, es sind viele Kommentare drin somit 
sollte man sich zurecht finden.

Vielen Dank schon mal
#CJ
Angehängte Dateien:
Gast #3782332
Lesenswert?
• ▲
▼
1
Hauptschleife:
2
.
3
.
4
.
5
   Gosub Hauptschleife

Würd ich als erstes eliminieren und die Hauptschleife mit do..loop 
einschließen. Keine Ahnung, was mit Gosub Hauptschleife ohne ein Return 
mit dem Stack macht...
Gast #3782413
Lesenswert?
• ▲
▼
Christian Jung schrieb:
> Gibt's noch ne Erklärung warum...so zum Verständniss.

Sven schrieb:
> da wird der Stack überlaufen und irgendein unsinn wird passieren.
> Goto oder Do Loop.

Beim Gosub wird der Programmcounter auf den Stack geschrieben. Kommt 
kein zugehöriges Return, das den PC wieder vom Stack holt, sondern 
gleich noch ein Gosub wird der Stack immer weiter wachsen - crash, oder 
was Bascom auch immer bei Überschreitung von HWSTACK vorgesehen hat.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.