Forum: Compiler & IDEs logik der interrupt in winabr-c


von karlheinz (Gast)


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?

von johnny.m (Gast)


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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.