Hallo,
ich habe folgendes Problem. Ich würde gerne an meinem XMEGA-A1 Board am
PIN GPIO0 ein Interrupt auslösen, wenn ich eine Spannung dort anlege.
Geplannt ist, dass ich mit einer Lichtschranke an dem Pin ein High Pegel
habe, wenn ich sie ausgelöst wird. Ich habe mir das folgendermaßen
gedacht. Allerings bin ich mit bei der ISR unsicher.
1 | #include "avr_compiler.h"
|
2 | #include <xplain.h>
|
3 | #include <gpio.h>
|
4 |
|
5 | // Defines for PORTS to use
|
6 | #define LEDPORT PORTE
|
7 | #define PIN PORTD
|
8 |
|
9 | ISR(PORTD_INT0_vect)
|
10 | {
|
11 | LEDPORT.DIR |= 0xF0; //LED 4-7 an
|
12 | }
|
13 |
|
14 | int main( void )
|
15 | {
|
16 | LEDPORT.DIR= 0x01; // LED 0 an
|
17 | //PIN.DIR = 0xFF;
|
18 | sei();
|
19 |
|
20 | while(1)
|
21 | {
|
22 | LEDPORT.DIR |= 0x02; // LED 1 an
|
23 |
|
24 | }
|
25 | }
|
Wie schreibt man die ISR richtig? Sodass er bei GPIO0 reagiert?
Gruß Marc