ATmega16 externer Interrupt 2
dieser Sorucecode ist ein Beispiel, wie der externe Interrupt 2 des ATmega16 aufgesetzt wird.
Beschreibung
Am Eingang des Externen Interrupts 2 wird auf eine steigende Flanke gewartet. Sobald diese eintritt, wird das Ausgangssignal an PA0 getoggelt. |
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 C-Sourcefile mit ASCII-Schema: C-Sourcefile mit ACII-Schema
Signalplots
Gelb: Digitaler Ausgang PA0
|