AVR GCC BADISR_vect ?

Gast #4966259
Hallo,

ich hab Problem mit sporadisch Abstürzen meines Programms. Ich hab nun 
die ISR Routine
1
ISR(BADISR_vect)
2
{
3
  PORTA |= (1 << PA5);    //ON
4
}
eingefügt und diese wird tatsächlich ausgelöst. Die Frage ist nun wie 
finde ich heraus welcher ISR es war? Komisch ist auch das die LED nicht 
mehr ausgeht obwohl ich diese in der Hauptschleife auf zwei Tastern 
liegen habe
1
if ( !(PINA & (1<<PA2)) ) {
2

3
 PORTA |= (1 << PA5); //blau
4
}
5
if ( !(PINA & (1<<PA3)) ) {
6
 PORTA &= ~(1 << PA5);
7
}

zurvor funktioniert das LED ein/aus schalten wenn aber die ISR 
BADISR_vect angesprochen wurde nicht mehr?? woran kann das liegen?

Gruss Patrick
#4966927
Wenn die LED nicht mehr ausgeht, obwohl deine Tastenbetätigung die 
ausschalten müsste, wird die ISR wiederholt aufgerufen. Schau dir halt 
im Daenblatt an, bei welchen Interrupts das Flag nicht automatisch 
zurückgesetzt wird, und schau dir in deinem Programm an, welche der 
Module du benutzt. Da sollte sich der Übeltäter finden lassen.

Oliver

Antwort schreiben

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