Hallo,
ich habe mir gerade ein Problem überlegt und bin mir noch nicht sicher, ob es tatsächlich eines ist. Angenommen ich habe eine unsigned int Variable, die größer als 8 Bit ist. (z.B. 32 Bit) Wenn ich diese in der INT0 erhöhe und in der INT1 verrringere könnte es doch zu Problemen kommen, wenn in der einen ISR noch am Überlauf gerechnet wird und währenddessen die zweite ISR kommt?
Sehe ich das richtig, oder arbeitet ein 8 Bit AVR die ISR nacheinander ab?
Oder würde es z.B. wie folgt genügen das Problem manuell zu umgehen:
Code:
ISR Int0 (void)
{
cli ();
Variable++;
sei ();
}
Viele Grüße
Andreas
Lesezeichen