Gast
#3346487
Hallo Zusammen ich möchte bei einem STM32F103RB die Tim2 und Tim3 zur PWM-Erzeugung nutzen, und sie gleichzeitig starten so dass sie perfekt synchron zueinander (parallel) laufen. Leider wird dieser Fall im Referenzmanual und der Timer-AN nicht konkret diskutiert, und so habe ich mir etwas zusammengbaut was leider nicht ganz funktioniert. Wichtig, ich verwende zusätzlich noch I2C, welches ich mit der CPAL_V1.2.0 Library von ST mache. Infos zur Umgebung: CooCox 1.7.5 und entsprechende gnu tools, Win7, ich benutze CMSIS, Hardware ist ein Olimex H103 mit STM32F103RB (72MHz). Zu den Timer: ClockDivision = TIM_CKD_DIV1, CounterMode = TIM_CounterMode_CenterAligned1, Period = 1024-1, TIM_Prescaler = 0. Fehlerbeschreibung: (1) Wenn ich nur I2C benutze dann funktioniert I2C perfekt. (2) Benutze ich I2C und Tim2 und Tim3 OHNE der Synchroroutine, also wenn sie jeweils einfach mit TIM_Cmd(TIMx, ENABLE) gestartet wurden, dann funktioniert alles perfekt. (3) Benutze ich I2C und Tim2 und Tim3 MIT der Synchroroutine, dann funktioniert auch alles perfekt solange ich NICHT die Timer Ausgänge durch Beschreiben der Register TIM2->CCER und TIM3->CCER einschalte. (4) Sobald ich in diese Register schreibe hängt sich früher oder später (innerhalb weniger Sekunden) das I2C auf. Ich bastel da jetzt echt schon eine ganze Weile dran rum, und konnte selber und im Netz nichts zu finden. In der Hoffnung das jemand Rat weis, Olli Anhang: Code Stücke
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 | |