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
Versuch es mal mit GoTo Hauptschleife statt Gosub Hauptschleife
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...
da wird der Stack überlaufen und irgendein unsinn wird passieren. Goto oder Do Loop.
Formal schrieb: >
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... Genau das war das Problem...DANKE Gibt's noch ne Erklärung warum...so zum Verständniss.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.