AVR resettet auf mysteriöse Art

Gast #225579
Lesenswert?
• ▲
▼
Hallo Leute!

Ich habe letzten ein Programm für einen ATMEGA8 in BASCOM AVR
geschrieben, mit dem ich jetzt eine ganze Menge Ärger hab. Kann es
sein, daß der "WAIT"-Befehl und die BASCOM-internen Befehle zum
steuern des 1WIREbusses auf den 16-Bit Timer zurückgreifen? Immer wenn
ich in der Interruptserviceroutine einen "WAIT"-Befehl aufrufe, oder
meine Routine zur Temperaturmessung aufrufe, dann resettet der
Controller einfach. Wodurch kann so ein Selbstreset überhaupt
auftreten? Dann wüßte ich wenigstens, in welcher Richtung ich
weitersuchen muß. Ich bin für jede Hilfe dankbar.

   Gruß
Gast #225580
Lesenswert?
• ▲
▼
hmm einmal der Watchdog, dann ein Fehler in der Interrupt Vektor
Tabelle.. aber was das mit dem Wait Befehl zu tun hat.. ka.. vielleicht
hast du auch ein problem mit dem stack.. poste doch mal deinen
quellcode..
#225581
Lesenswert?
• ▲
▼
@Mathias : IE nutzer ? Zu oft auf zurück gedrückt ?

Disassembliere das Programm mal und schaue, was Bascom an besagten
Stellen macht. Könnte villeicht etwas schwieriger werden, aber
villeicht hilfts. Genau aus dem Grund schreib' ich Firmware nur mit
Assembler, weil ich mich bei der Fehlersuche auf Hardwareebene nicht
noch mit den Bugs mancher Compiler herumschlage  möchte (und weil der
Code mit Asm so und so effektiver wird).
Gast #225582
Lesenswert?
• ▲
▼
Danke für die Antworten! Die aktuelle Version des Quellcodes hab ich
grad nicht hier, den werde ich morgen oder übermorgen posten. Den
Watchdog habe ich nicht aktiviert. Ich denke die 1WIRE-Routinen werden
dies auch nicht tun. Ich habe ne Menge Lokaler Variablen in den
Subroutinen. Vielleicht ist der Stack auch zu klein? Aber dann gibt der
Compiler doch ne Fehlermeldung raus, oder? Wo kann ich den den erzeugten
ASM-COde anschauen?

Gruß
Gast #225586
Lesenswert?
• ▲
▼
Ich habe jetzt einfach mal zur Sicherheit den Stack erhöht und siehe da,
es funktioniert plötzlich. Allerdings hab ich jetzt an anderen Stellen
noch kleine merkwürdige Fehler, denen ich nochmal auf den Grund gehen
muß. Ich würde mich auch freuen, wenn mir jemand nochmal sagt, wie
und/oder mit welchem Programm man sich den von BASCOMAVR erzeugten
ASM-Code anschauen kann. Das wäre für die Zukunft sehr hilfreich.

Grüße

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