Gast
#5784370
Hallo Leute, Befasse mich jetzt seit geraumer Zeit mit der Programmierung von Atmel uC. Jetzt befasse ich mich gerade mit Timer-Interrupts und versuche den Duty-Cycle eines 1khz PWM-Signals auszulesen. Zum testen wollte ich einfach zu unterschiedlichen Duty-Cycle´n verschiedene Ausgänge schalten. Habe mich an einem Code aus einem anderen Beitrag orientiert und diesen leicht angepasst. Leider bekomme ich keine Ergebnisse und kein Ausgang schaltet. Vielleicht sieht ja einer den Fehler oder hat so etwas selber schon einmal gemacht. Hier mein Code: /* * PWM einlesen Interrupt.c * * Created: 22.03.2019 08:16:52 * Author : Benno */ /*Beschreibung: Ich habe den AT90CAN128 auf 16Mhz eingestellt, mit einem Vorteiler von 64 ergibt das: 0,000004 Sekunden für einen Timerdurchlauf. Das PWM-Signal hat 1kHz ==> 0.001 Sekunden Daraus ergibt sich 0.001 / 0,000004 = 250 Der PortB sollen je nach Dutycycle geschaltet. Nun zum Code:
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 | |