Guten Tag Würde gerne mit einem Atmega8 einen Kanal an einem 2.4GHZ Fernsteuerungs Empfänger auswerten. Habe im Internet einen Code gefunden, er Funktioniert bei mir nicht habe das Signal von dem Empfänger an INT0 (PD2) angeschlossen, wenn ich die Fernbedienung bediene tut sich nichts es leuchte einfach PB3. Der Code sollte die Steigende und Fallende Flanken erkennen. Hoffe Jeamand kann mir Helfen. Danke im vorraus. •
1 | /*
|
2 | * AtMega8_Empfänger_auswerten_Internet_1.c |
3 | *
|
4 | * Created: 12.01.2014 14:52:43 |
5 | |
6 | |
7 | |
8 | #include <avr/io.h> |
9 | #include <avr/interrupt.h> |
10 | #include "inttypes.h" |
11 | |
12 | |
13 | int start; |
14 | int stop; |
15 | int32_t impuls; |
16 | int flanke; |
17 | |
18 | |
19 | int main(void) |
20 | {
|
21 | |
22 | DDRB |= (1<<PB1) | (1<<PB2) | (1<<PB3) | (1<<PB4) | (1<<PB5); |
23 | |
24 | |
25 | |
26 | MCUCR |= (1<<ISC00) | (1<<ISC01); //INT0 auf Steigende Flanke stellen (Löst Interrupt bei steigendet Flanke an INT0 aus |
27 | GICR |= (1<<INT0); //Interrupt von INT0 auf Enable |
28 | |
29 | |
30 | |
31 | |
32 | sei(); //Interrupts aktivieren |
33 | |
34 | while(1) |
35 | {
|
36 | if (flanke == 1) |
37 | {
|
38 | start = TCNT1; |
39 | MCUCR |= (1<<ISC01); //INT0 auf fallende Flanke stellen |
40 | MCUCR &= ~(1<<ISC00); |
41 | flanke = 0; |
42 | }
|
43 | else
|
44 | {
|
45 | stop = TCNT1; |
46 | impuls = stop - start; |
47 | MCUCR |= (1<<ISC00) | (1<<ISC01); //INT0 auf Steigende Flanke stellen (Löst Interrupt bei steigendet Flanke an INT0 aus) |
48 | flanke = 1; |
49 | |
50 | }
|
51 | |
52 | //****************************************************************************
|
53 | if (impuls < 1100) |
54 | {
|
55 | PORTB |= (1<<PB3); //Bit3 auf High setzen |
56 | }
|
57 | |
58 | if (impuls > 1800) |
59 | {
|
60 | PORTB |= (1<<PB4); //Bit4 auf High setzen |
61 | }
|
62 | |
63 | |
64 | if ((impuls > 1490) & (impuls < 1550)) |
65 | {
|
66 | PORTB &= ~(1<<PB4); //Bit4 auf Low setzen |
67 | PORTB &= ~(1<<PB3); //Bit3 auf Low setzen |
68 | }
|
69 | |
70 | //****************************************************************************
|
71 | |
72 | }
|
73 | |
74 | }
|