ATmega88, Timer0 Interrupt wird nicht ausgeührt

Gast #1529371
Hallo zusammen,

ich habe eine lauffähige Software, die vom ATmega8 auf den ATmega88 
portiert werden soll.

Mein großes Problem: der Timer0 Interrupt wird korrekt ausgelöst, aber 
der Simulator springt ins Nirwana. Verdammt noch mal, warum wird die 
Interruptroutine nicht angsprungen???

Ich habe hier im Forum gesucht und zwar gesehen, dass solche Probleme 
hier ab und zu angefragt werden, aber die Lösung habe ich nicht 
gefunden.

Aber nun habe ich sie, die Lösung:
Ich benutzte ebenso die externen Interrupts 0 und 1. Ihre Reaktionen auf 
Flanken werden im Register MCUCR im ATmega8 eingestellt. Beim ATmega88 
aber wird mit MCUCR z.B. die Startadresse für die Interruptvektoren 
verändert.

Gruß
Harry
Harry schrieb:

> Ich habe hier im Forum gesucht und zwar gesehen, dass solche Probleme
> hier ab und zu angefragt werden, aber die Lösung habe ich nicht
> gefunden.

und auf die Idee, einfach in die AppNote von Atmel für den Wechsel von 
Mega8 auf Mega88 bist du nicht gekommen? Dort wird fein säuberlich 
aufgelistet, welche Register und Bits sich geändert haben...
Gast
Nein, bin ich nicht.

Mein Kontakt zu Bootloadern war bisher so minimal, dass mir nicht 
bewusst war, dass die Interruptadressen sich verändern lassen. Also 
waren die Adressen für mich fix.
Gast
Schau mal im Simulator in der unteren Fensterzeile. Da mauss ATMEGA88 
stehen. Wenn du dein Projekt im Studio öffnest, musst du das mit dem 
neuen Controller tun. Also Projekt öffnen -> Next -> Controllertyp 
wählen ->... Sonst kennt der Simulator die Adressmap nicht und springt 
nach oder vor der Interruptroutine wieder zu reset. Hatte ein ähnliches 
Problem. Ich hoffe es hilft!

Gruß, Jens

Antwort schreiben

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