ATmega32 externer Interrupt 2
Dieses eigenständig lauffähige Programm ist ein Beispiel für den External Interrupt 2 des ATmega32.
Beschreibung
Der Eingang des External Interrupt 2 triggert auf eine steigende flanke und toggelt daraufhin den Ausgang PA0. |
Please visit: the four |
C Sourcecode
#include <avr/io.h>
#include <avr/interrupt.h>
int main(void)
{
DDRA = 0x01; // Setup PA1 as output
PORTB = 0x04; // Activate internal pullupressistor of PB2
GICR |= (1<<INT2); // Enable external interrupt INT2
MCUCSR |= (1<<ISC2); // INT2 is executed on rising 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 1
ISR(INT2_vect)
{
PORTA ^= 0x01; // Toggle PA0
}
Download lauffähiges C-File mit ASCII-Schema: Downloadlink
Signalplots
Gelb: Ausgang PA0
|