Receive Complete Interrupt an ATmega2561

OP #1252582
Lesenswert?
• ▲
▼
Hallo,
ich versuche gerade eine Interruptserviceroutine für das Empfangen 
serieller Daten an einem ATmega2561 zu benutzen.
Ich simuliere das programm gerade im AVR Studio. Mit Hilfe von hapsim 
sende ich Daten an die Simulation.
Das Programm funktioniert mit polling. In meiner tatsächlichen Anwendung 
wird polling zu langsam und es werden Daten verschluckt, darum bin ich 
auf den Interrupt angewiesen.
Zur Ausprobe benutze ich zwei Haltepunkte. Einen direkt nach Sei() und 
zu prüfen, ob alles richtig initialisiert wurde, einen zweiten in der 
ISR, in der ich zur Zeite nur einen Variable hochzähle.

Wird der Interrupt nun ausgelöst, wird die ISR nicht ausgeführt, statt 
dessen startet der Controler neu.
Das gleiche Problem habe ich, wenn ich die ISR komplett weglasse.
Ich vermute das das Programm zur falschen Adresse springt.

Meine ISR habe ich ISR(USART1_RX_vect) genannt.

Ich hoffe jemand hat eine Idee für mich.
OP #1252748
Lesenswert?
• ▲
▼
Nun habe ich herausgefunden, dass die Adresse 0x01f048 anscheinend die 
Adresse ist, an der die ISR stehen muss. Oder muss ich an der Stelle 
einen Strung an die ISR programmieren?
Wenn ja, wie mach ich das dann unter C?
Bei meinem ATmega32 brauchte ich das doch auch nicht machen ???

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren