Hi
ich würde gerne den externen Interrupt0 INT0 (PD0) testen. kreig es aber
leider nicht hin.
Kann mir einer sagen wo mein fehler liegt ich bin am verzweifeln.....
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 |
|
4 |
|
5 | void wait (long int i)
|
6 | {
|
7 | long int n = 0;
|
8 | for (n = 0; n < (i * 1000); n++) {;}
|
9 | }
|
10 |
|
11 |
|
12 | void intinit ()
|
13 | {
|
14 | SREG = 0x80; //Globale Interruptfreigabe
|
15 | EICRA = (1<<ISC00)|(1<<ISC10); //Interrupt0 auf steigende Flanke
|
16 | EIMSK = (1<<INT0); //Interrupt0 enable
|
17 | }
|
18 |
|
19 | void it0 (INT0_vect) // INTF0
|
20 | {
|
21 | PORTE = 0xff;
|
22 | }
|
23 |
|
24 | int main (void)
|
25 | {
|
26 |
|
27 |
|
28 | DDRD = 0x00;
|
29 | PORTD = 0x00;
|
30 | DDRE = 0Xff;
|
31 | intinit();
|
32 |
|
33 | while(1)
|
34 | {
|
35 | PORTE = 0x0f;
|
36 | wait(20);
|
37 | }
|
38 | return(0);
|
39 | }
|
vielen Dank schonmal
Marcel