ATmega32 externer Interrupt 0
Diese Seite zeigt ein lauffähiges Interrupt Example für den ATmega32
Beschreibung Der Externe Interrupt wartet auf eine fallende Flanke und toggelt daraufhin den Digitalausgang PA0. |
Please visit: the four |
#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
ISR(INT0_vect)
{
PORTA ^= 0x01; // Toggle PA0
}
Download lauffähiges C-File mit ASCII-Schema: Downloadlink
Signalplots
Gelb: Digital Out PA0
|