...oder man schaut ins Datenblatt! Da steht folgendes:Wenn man in der Serviceroutine die Löschung des IRQ-Flags unterlässt, wird derselbe IRQ immer und immer wieder ausgeführt und der Prozessor kommt nicht mehr zur Bearbeitung des Hauptprogramms.
Nun weiss ich aber nicht wie Bascom das handhabt; dazu müsste sich ein Kenner äußern.
"When an event on the INT0 pin triggers an interrupt request, INTF0 becomes set (one). If the Ibit
in SREG and the INT0 bit in GICR are set (one), the MCU will jump to the corresponding
Interrupt Vector. The flag is cleared when the interrupt routine is executed"
Heißt also im Klartext, dass das IRQ-Flag automatisch gelöscht wird, wenn die ISR ausgeführt wird. Soviel ich weiß gilt dies für alle Interrupts in allen AVR-Controllern. Und da die Löschung des IRQ-Flags auf Hardware-Ebene geschieht, ist es auch egal welche Sprache man zum programmieren des Controllers verwendet!
Lesezeichen