ATmega16 externer Interrupt 1
In diesem Sorucecodebeispiel wird der externe Interrupt 1 des ATmega16 demonstriert.
Beschreibung
Am eingang des Externen Interrupts 1 wird auf eine fallende flanke gewartet. Sobald diese eintritt, wird das Ausgangssignal an PA0 getoggelt. |
Please visit: the four |
#include <avr/io.h>
#include <avr/interrupt.h>
int main(void)
{
DDRA = 0x01; // Setup PA1 as output
PORTD = 0x08; // Activate internal pullupressistor of PD3
GICR |= (1<<INT1); // Enable INT1
MCUCR |= (1<<ISC11); // INT1 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 1
ISR(INT1_vect)
{
PORTA ^= 0x01; // Toggle PA0
}
Download C-Sourcefile mit ASCII-Schema: C-Sourcefile mit ACII-Schema
Signalplots
Gelb: Digitaler Ausgang PA0
|