Gast
#714326
Hallo, kann man mit den beiden 16-Bit Timern (Timer 1 und 3 beim mega162) 4 verschiedene CTC realisieren? Ich habe nämlich mal als Testprogramm beide Timer auf CTC eingestellt mit verschiedenen Vorteilern, Timer 1 PRSC=1024 und Timer 3 PRSC=1. Um dann 4 CTC's zu realisieren, können beide Kanäle (A und B) jeweils eines Timers mit verschiedenen Compare-Match-Werten gealden werden. Somit wären 4 CTC's da, nämlich aus Timer: 1A, Vorteiler = 1024, OCR1A = 7199, Interrupt alle 1 Sek. 1B, Vorteiler = 1024, OCR1B = 7, Int. alle 1 ms 3A, Vorteiler = 1, OCR3A = 737, Int. alle 100 µs 3B, Vorteiler = 1, OCR3B = 7680, Int. alle 1,04 ms Um zu sehen, ob dem wirklich so ist, habe ich in jeder zugehörigen ISR einen Port getoggled. Die ISR zum Timer 1A toggled Portpin PA0, Timer 1B toggled Portpin PB0, Timer 3A Portpin PC0 und Timer 3B Portpin PD7. Ergebnis: Port A und B (jewels nur eine LED an PA0 und PB0) machen einen Wechselblinker im Sekundentakt, LED an PC0 "blinkt" im 100µs Takt (ok!) und die LED an PD7 (PD0 ist serielle Schnitte & belegt) macht garnix. Der Quarz hat übrigens ein 7,372800 MHz. Das Proggi dazu, komplett
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 | |
Warum verhält nur der Portpin PA0 und PC0 richtig? Warum blinkt PB0 mit PA0 mit, aber invertiert? Warum mach PD7 nix?