W.S. schrieb:
> grundschüler schrieb:
>> Ich habe 3 Timer tim2,3,4 die synchron laufen sollen
>
> Das ist in sich unlogisch.
>
> Entweder die 3 Timer sind alle exakt gleich programmiert, dann laufen
> sie auch synchron (und du würdest nur einen brauchen, das die anderen
> redundant sind), oder sie sind unterschiedlich programmiert, dann laufen
> sie schon nach kurzer Zeit nicht mehr synchron.
>
> Also nimm einen einzigen Timer und überdenke dein Konzept.
>
> W.S.
habe den systick auf 10us reduziert und sehe jetzt teilweise um 1
abweichende Werte. Die 3 timer laufen aber anscheinend synchron. eine
Abweichung könnte dann entstehen, wenn die ISRs, die ja nicht paralell
sondern hintereinander laufen, zu einer Verschiebung führen. Dafür ist
die Dauer der irq s aber offensichtlich zu klein.
Eigentlich müsste es eine Verschiebung geben denn
TIM_Cmd(TIM2, ENABLE);
TIM_Cmd(TIM3, ENABLE);
dauert länger als ein Takt der PWM. D.h. die TIMs müssen vor dem
Prescaler zwingend unsynchron sein und per Master/slave gestartet
werden?
3 Timer * 2 Channel wegen 6 Halbbrücken. Ist programmtechnisch für mich
einfach und ich bekomme kein Geld zurück wenn ich die Timer nicht
benutze.