avr studio und Anzeige der Stop-Watch bei Timer0

Gast #1034151
hallo,

ich habe eine Timer-Routine die alle 10us aufgerufen wird (Timermodus 
CTC für Timer0)
Wenn ich nun mit AVR-Studio (4.14) einen Breakpoint in die Routine setze 
und mir dann den Wert der "Stop Watch" anschaue, dann schwankt der Wert 
zwischen den einzelnen Aufrufen bis zu 30us! (Ich setze nach jedem 
Aufruf den Wert der Stop Watch zurück). Liegt das nun eher am Avr 
Studio, oder woher kommt das?
Das ist auch so, wenn ich da nur eine Variable hochzählen lass und hat 
somit nix mit meiner Routine zu tun, die da aufgerufen wird.

Ich benutze einen atmega48.

mfg
Gast #1034176
hallo,

ja, den Timer1-Interrupt alle 100us und einen externen Interrupt (INT0) 
der bei steigender Flanke am Eingang aufgerufen wird. Diese Routine ist 
aber sehr kurz, da nur ein Zähler inkrementiert wird und Variablen 
zurückgesetzt werden. Dies benötigt aber unter 10us.
Gast #1034194
>ja, den Timer1-Interrupt alle 100us und einen externen Interrupt (INT0)
>der bei steigender Flanke am Eingang aufgerufen wird. Diese Routine ist
>aber sehr kurz, da nur ein Zähler inkrementiert wird und Variablen
>zurückgesetzt werden. Dies benötigt aber unter 10us.

Mysteriöse Sache. Was genau wird in den Interrupts gemacht?

Ich glaub, ohne den Code wird das nur Rätselraten.
Gast #1034728
Das Beste wird sein, Du checkst das Programm im Simulator vom AVR-Studio 
per Einzelschritt-Modus durch. Wenn die Timer0-Interruptroutine zu einem 
"falschen" Zeitpunkt auftritt, dann gilt es zunächst herauszufinden, an 
welcher Stelle der Einsprung stattfand (aus der Main heraus? Wenn ja: 
Was für Befehle stehen da? Oder direkt nach der Rückkehr aus einer 
anderen Interruptroutine? Wenn ja: Welche und wie lange dauert die?).

Es gibt keine "Geheimnisse" in einem Code, die man nicht mit dem 
Simulator aufspüren kann - wenngleich es in der Praxis aufwendig und 
mühsam sein kann.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.