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.