Interrupt disabled - Flags

Peter II schrieb:
> Bernie schrieb:
>> Bin mir diesbezüglich nicht sicher, ob das wirklich so ist.
>
> und sollen wir jetzt raten um welchen Controller es geht?

Wahrscheinlich um einen AVR

Bernie schrieb:
> Werden eigentlich die Flags auch gesetzt, wenn die Interrupts disabled
> sind? Bin mir diesbezüglich nicht sicher, ob das wirklich so ist.

Ich meine Ja, der Interruptvektor wird halt nur angesprungen wenn auch 
das entsprechende Enable-Flag gesetzt ist. Wir reden doch über AVRs, 
oder?
Gast
Ich gab stm32 ein und dieses Forum kam heraus. Dachte dies wäre klar und 
wusste nicht, dass es Controllerabhängig ist.
Ich spreche generell über stm32 uC.
Das heisst also, die Flags werden zwar gesetzt, aber in den 
Interruptvektor wird nur gesprungen, wenn auch der Interrupt enabled 
ist?
Danke
Gast
Dr. Sommer schrieb:
> Es werden die Flags in der Peripherie gesetzt, aber nicht die
> "Pending" Flags im NVIC. Erstere kann man dann manuell abfragen.
PS: Das gilt natürlich nur wenn nur der eine Interrupt abgeschaltet 
wurde... Wenn der immer noch an ist (im NVIC), aber man alle Interrupts 
global abgeschaltet hat (über "cpsid i"), werden auch die Pending Flags 
im NVIC gesetzt. Sobald man die Interrupts wieder eingeschaltet ("cpsie 
i") hat, werden die ISR's angesprungen.
Gast
Dr. Sommer schrieb:
> Dr. Sommer schrieb:
> Es werden die Flags in der Peripherie gesetzt, aber nicht die
> "Pending" Flags im NVIC. Erstere kann man dann manuell abfragen.
>
> PS: Das gilt natürlich nur wenn nur der eine Interrupt abgeschaltet
> wurde... Wenn der immer noch an ist (im NVIC), aber man alle Interrupts
> global abgeschaltet hat (über "cpsid i"), werden auch die Pending Flags
> im NVIC gesetzt. Sobald man die Interrupts wieder eingeschaltet ("cpsie
> i") hat, werden die ISR's angesprungen.

Danke an Sommer und Koehler ??
In gefühlt jedem DB steht doch sinngemäß drin:
"wenn du Int-Enable-x setzt, dann sorg dafür, daß du vorher Int-Flag-x 
ge-cleared hast, oft durch reinschreiben von "1", denn sonst feuert der 
Int-x sofort."
Ist ja auch schwer anders vorstellbar, wenn man davon aus geht, daß 
Chip-Hersteller nur nur ungern extra Silizium verbraten, um HW für etwas 
zu bauen (Flankenerkennung), was man zu 99.99999% der Zeit nicht 
braucht, und wenn, einfach durch eine Zeile Software erledigt werden 
kann.

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.