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

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.