Probleme mit TIM0_OVF

Gast #49014
Hy Leute, ich hoffe es kann mir wer helfen!

Habe erst angefangen in CodeVision zu programmieren.
Hab voher Assembler programmiert.

Also ich wollte eine einfache Uhr programmieren um einmal
etwas mit Timer Interrupts auszuprobieren.
Habe das Programm mit AVRStudio simuliert und bin draufgekommen
das der Timer0 Interrupt aufgerufen wird.
Das Problem ist jetzt dass das Programm von der ISR nicht mehr
wegkommt. d.h. das Programm bleibt immer in der ISR des Interrupts und
springt nicht mehr ins Hauptprogramm zurück.

Wo könnte das Problem liegen, weiß jemand Rat?

mfg Chris!!
Angehängte Dateien:
Gast
sieht auf den ersten Blick zumindest korrekt aus.
temp in der ISR solltest du allerdings als static declarieren, hat aber
nichts mit dem von dir beschriebenen Fehler zu tun. Wenn du im
Einzelschrittbetrieb vorgehst, siehst du doch, an welcher Stelle es
"hängt". Breakpunkt an den Einsprung setzen, laufen lassen und dann
mit F11 immer Schritt für Schritt.
Ich habe jetzt keine Lust, das Ding zu testen.
Gast
habs mal versucht, zu compilieren, irgendwas mit dem LCD-Kram haut da
nicht, also Essig.
Kann natürlich gut sein, dass sich dein Hauptprogramm im Teil
delay_ms() aufhält (bei 250ms ist die Wahrscheinlichkeit recht hoch)
wenn der int kommt. Das sieht dann so aus, als ob direkt ein neuer int
kommt. Setz doch mal einen Breakpoint auf den Beginn der ISR, wenn er
da ankommt, cycle-counter auf 0 setzen und wieder auf F5, dann siehst
du, ob die timer-Zeit abgelaufen ist.
Ich schätze mal, das funktioniert alles und du merkst es nicht :-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.