Hallo! Ich habe am Pin PB1 des ATmega256RFR2 einen Taster (mit PullDown) angeschlossen, der den externen Interrupt INT1 auslösen soll. Zum testen habe ich dafür folgenden Code geschrieben, der beim Auslösen des Interrupts die LED des Xplained Pro ATmega256RFR2 Boards (an PB4, leuchtet bei Low-Pegel) einschalten soll. Leider geschieht dies aber nicht. Gibt es vielleicht irgendetwas was ich dabei noch übersehen habe? Ich habe jetzt schon mehrmals den Teil des Datenblattes durchgelesen und sollte eigentlich alle notwendigen Bits gesetzt haben. Ich stehe auf dem Schlauch. Gruß Scorpion
1 | #include <avr/io.h> |
2 | #include <avr/interrupt.h> |
3 | |
4 | ISR(INT1_vect) |
5 | {
|
6 | PORTB &= ~(1 << PB4); |
7 | }
|
8 | |
9 | int main (void) |
10 | {
|
11 | //LED INIT
|
12 | DDRB |= (1<<PB4); |
13 | PORTB |= (1 << PB4); |
14 | |
15 | //UART INIT
|
16 | //SREG |= (1 << 7); //Global Interrupt enable
|
17 | EIMSK |= (1<<INT1); //Interrupt mask |
18 | EICRA |= ((1 << ISC11) | (1 << ISC10)); //External Interrupt Control Register A, INT0 at rising edge |
19 | |
20 | sei(); |
21 | |
22 | while (1) |
23 | {
|
24 | }
|
25 | }
|