www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer0 -> Verzweiflung in ASM


Autor: Feindsender64,3MHz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Gemeinde
Ich habe mich neulich an die Timer Programierung in Assembler gewagt, 
nur leider macht mein Testobjekt (ein Mega16) absolut nicht das, was er 
soll.
Auch im AVR Studio Debugger zeigt sich ein merkwürdiges Verhalten.
Damit meine ich, dass das Programm bis "sei" fehlerfrei läuft, aber ab 
"rjmp loop" springt er nicht etwa zu sich selbst, sondern setzt wieder 
bei "out TCCR0, temp" an. Dann wird das Programm wieder bis sei 
abgearbeitet und bleibt auch in der Endlosschleife. Sobald der Timer 
überläuft zeigt sich aber wieder der Sprungfehler.
Der Atmel startet beim Testen einfach neu. (Bootloader läuft wieder an)

Was kann ich da falsch gemacht haben? Stimmt etwas mit den Interrupt 
Vektoren nicht?

Würde mich freuen wenn jemand mal über den Source schauen könnte.


MFG
Scholz

Autor: Feindsender64,3MHz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anhang die Zweite...

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach dem was man hier im Forum so allgemein liest hat der Mega16 pro 
Intvector 2 Befehlsworte reserviert um longjumps über den vollen 
Adressbereich zu ermöglichen.
Im Beispiel ist aber nur jeweils 1 Wort durch rjmp bzw. reti belegt.

Autor: Feindsender64,3MHz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, das war das Problem. Habe die rjmp durch jmp Befehle ersetzt und 
nun scheint es zu funktionieren =)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.