Gast
#3329837
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 | |
Hallo freundliche Helfer, ich möchte gerne die Frequenz des 16Bit-Timer meines ATmega 1284p über den ADC -Spannungswert an Kanal 4 ändern können. Dazu habe ich den CTC-Mode mit toggelndem Bit bei OutputCompareMatch gewählt. Leider lässt sich die Frequenz jedoch innerhalb der ISR überhaupt nicht anpassen. Die Frequenz ändert sich nicht und entspricht auch nicht der initialisierten Frequenz von 10Hz. Selbst wenn ich den OCR1A -Wert nur inkrementiere (auskommentiert), geht die Freuqenz auf 62500Hz (entspricht 16Mhz / 256 oder (16Mhz / 64) / 4). Der Timer scheint also dann schon in die ISR zu gehen und den Wert zu inkrementieren bis er überläuft und dann den Wert 1 erreicht. Ab dann findet keine Freuqenzänderung mehr statt. Was mache ich falsch? Ich habe versucht mit beiden ISRs zu arbeiten und die Abpassung von OCR1A zu machen, sprich, die ISR des Timers und des ADCs. Beides geht nicht.
