Hallo,
nutze einen Atmega64M1
Versuche den Externen Interrupt 0 zu nutzen. Und zwar an PIN 14 (PD6)
1 | ISR (INT0_vect) {
|
2 | cli();
|
3 | PORTB ^= 1 << PORTB3;
|
4 | sei();
|
5 | }
|
6 |
|
7 |
|
8 | void main(void) {
|
9 | // Externer Interrupt
|
10 | EICRA = (1 << ISC00); // Any logic change...
|
11 | EIMSK = (1 << INT0); // External Interrupt Request 0 Enable
|
12 | PCICR = (1 << PCIE2); // Pin Change Enable 2 (PCINT23:16)
|
13 | PCMSK2 = (1 << PCINT22); // INT22 - PIN: PD6
|
14 | DDRD &= ~(1<<6); // PD6 als Eingang
|
15 | PORTD|= (1<<6); // Pullup aktivieren
|
16 |
|
17 | PORTB = 0x00;
|
18 |
|
19 | sei(); // Global Interrupts aktivieren
|
20 | }
|
Was mache ich falsch? Kann das ganze kompilieren. Timer Interrupt
funktioniert.
Würde mich über Hilfe sehr freuen.