Gast
#3298137
Guten Tag, ja ich habe die Suche benutzt. Jedoch habe ich immer noch ein kleines Verständnisproblem. Ich benutze: ATiny45 WinAVR / AVR Studio 6 Fuse eingestellt INTRCOSC_4MHZ_6CK_14CK_64MS Makefile: F_CPU = 4000000 / OPT = s In der Souce:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
Nun habe ich mit meinem Oszi PB4 untersucht und PB2. Alle 280µs wird PB4, für 20µs high. Eigentlich sollte er aber doch alle 16,384 sek aufgerufen werden? Dies ist aber doch viel zu lang! Wie dem auch sei. Anschließend habe ich den Teiler auf 1 gestellt. Nun wir die ISR alle 26µs aufgerufen. Ich vermude das nun diese #define PULSE_MIN (uchar)(XTAL / 512 RC5TIME 0.4 + 0.5) #define PULSE_1_2 (uchar)(XTAL / 512 RC5TIME 0.8 + 0.5) #define PULSE_MAX (uchar)(XTAL / 512 RC5TIME 1.2 + 0.5) Werte nicht mehr stimmen. Interpretiere ich das so richtig:? #define PULSE_MIN sollte in etwa 889µs sein #define PULSE_1_2 sollte in etwa 1778µs sein #define PULSE_MAX ???? 24,889ms Nun habe ich versucht diese Werte anzupassen. Zeit : Aufrufinterwall z.B.: PULSE_MIN = 889 : 2 = 34 Das ausgelesene Ergebnis ist immer noch 0. :-( Die ISR erkennt die Flankenwechsel. Wenn ich rc5_bit an PB4 ausgebe, so entspricht dies genau dem PB2 Signal. Zitat:"Danach muß man nur im Bitabstand weiter abtasten und voila, nach 14 Bitzeiten hat man alle Bits. Damit es nun dabei nicht zu Zeitverschiebungen aufgrund zu hoher Toleranzen kommt, wird bei jeder Flanke neu synchronisiert. Um die Hilfsflanken auszublenden, werden nur Flanken, die nach 0,8 ... 1,2 Bitzeiten kommen ausgewertet." Was ist mein Fehler. Freue mich über jeden Tipp. Vielen Dank