ATmega8 externer Interrupt 1 fallende Flanke
In diesem C Example reagiert der externe Interrupt des ATmega8 auf eine fallende Flanke. Die Interruptroutine toggelt den Ausgang PB0.
Beschreibung Der Eingang des externen Interrupt 1 startet auf eine fallende Flanke. In der Interrupt-Routine wird ein Digitalausgang getoggelt. |
Please visit: the four |
C Sourcecode
#include <avr/io.h>
#include <avr/interrupt.h>
int main(void)
{
DDRB = 0x01; // Setup P0 as output
PORTD |= 0x08; // Activate Apullupressistor of PD3
GICR |= (1 << INT1); // Enable INT1
MCUCR |= (1 << ISC11); // INT1 is executed on any edge
sei(); // Set the I-bit in SREG
for(;;); // The main loop stays empty and
// could contain some code you want.
return 0; // This line will never be executed
}
// Interrupt subroutine for external interrupt 1
ISR(INT1_vect)
{
PORTB ^= 0x01; // Toggle PB0
}
Download C-Sourcefile mit ASCII-Schema: C-Sourcefile mit ACII-Schema
Signalplots
Gelb: Digitalausgang PB0 (In Interruptroutine geschaltet)
|