logik der interrupt in winabr-c

Gast #363480
Lesenswert?

hallo, wenn ich in winavr eine interruptroutine normal mit sig...int0 {}
lostrete, wird die so lange durchgeführt bis sie die geschweifte klammer
verlassen hat oder kann die vorher durch einen anderen interruptaufruf
unterbrochen werden oder wird der zweite andere interruptaufruf
solange ignoriert?
Gast #363481
Lesenswert?

Steht im Tutorial! So wie Du es oben geschrieben hast, gehts gar nicht.
Entweder mit SIGNAL(SIG_...){} oder INTERRUPT(SIG_...){}. Im ersten
Fall kann die ISR nicht unterbrochen werden, es sei denn, man setzt in
der ISR mit sei() das I-Bit. Bei INTERRUPT(SIG_...) geschieht das
automatisch, wodurch die ISR durch einen neuen Interrupt unterbrochen
werden kann. Von geschachtelten ISRs ist aber i.A. abzuraten, da man
genau wissen muss, was da im Hintergrund passiert (z.B. Stack).

P.S.: Deine GRO?BUCHSTABENTASTE scheint kaputt zu sein! Spaß beiseite:
Groß- und Kleinschreibung machen einen Beitrag besser lesbar.
Vielleicht sind bei einem mit viel Liebe erstellten Beitrag ja ein paar
mehr hilfswillige bereit, ihren Senf dazu zu geben.

P.P.S.: Tutorial lesen!

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