ATmega32 externer Interrupt 0

Diese Seite zeigt ein lauffähiges Interrupt Example für den ATmega32


Der Externe Interrupt wartet auf eine fallende Flanke und toggelt daraufhin den Digitalausgang PA0.


AVR Hardware
iund Progrmmierung in C

#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)

    DDRA = 0x01;                       // Setup PA1 as output
    PORTD = 0x04;                      // Activate pullupressistor of PD2

    GICR |= (1<<INT0);                 // Enable INT0
    MCUCR |= (1<<ISC01);               // INT0 is executed on falling edge
    sei();                             // Set the I-bit in SREG

    for(;;);                           // The main loop stays empty and
                                       // could contain code you want.

    return 0;                          // This line will never be executed


// Interrupt subroutine for external interrupt 0
    PORTA ^= 0x01;                     // Toggle PA0


Download lauffähiges C-File mit ASCII-Schema: Downloadlink


Externer Interrupt 0

Gelb: Digital Out PA0
Blau: Interrupt 0 Input (PD2)