STM32 Preload Dutycycle aktivieren

Gast #6110645
Lesenswert?

Hallo,

an einem Timer des STM32F429 möchte ich gerne ein PWM Signal ausgeben, 
dessen Pulsweite ich ständig ändere. Im Datenblatt zu den Timern des µC 
habe ich bereits gelsen, dass man das Ändern des Dutycycles auf das Ende 
jeder Periode über ein Auto Preload register aktivieren kann.

Ich finde jedoch im ganzen HAL und STM32 reference Manual-Wahnsinn nicht 
das Register, über dem sich das Auto-Preload register des CCR eines 
Timers aktiveren lässt. Weiß jemand hier eventuell wo ich suchen muss 
oder, ob sich sowas eventuell auch in CubeMX direkt konfigurieren lässt?

VG
Persönliche Seite #6110654
Lesenswert?

"The TIMx_CCRx registers can be programmed with or without preload 
registers using the OCxPE bit in the TIMx_CCMRx register."

Im CCMR register:

"Bit 3OC1PE: Output Compare 1 preload enable
0: Preload register on TIMx_CCR1 disabled. TIMx_CCR1 can be written at 
anytime, the new value is taken in account immediately.
1: Preload register on TIMx_CCR1 enabled. Read/Write operations access 
the preload register. TIMx_CCR1 preload value is loaded in the active 
register at each update event."

Einfach nur nach "preload" suchen...
#6110785
Lesenswert?

RH schrieb:
> Ha stimmt, hätte ich auch selber drauf kommen können! Danke trotzdem...
>
> Johnny B. schrieb:
>> __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, motor_pwm);
>
> Updated das Makro automatisch am ende des Zyklus? Muss dafür nicht
> trotzdem irgendwo das Preload-Register aktiviert werden?

Sicher bin ich nicht, aber so wie ich es verstehe ist das 
Compare-Register in das Du reinschreibst immer dasselbe, egal ob mit 
preload oder ohne.

Wenn preload abgeschaltet ist/wird...
 __HAL_TIM_DISABLE_OCxPRELOAD(_HANDLE_, _CHANNEL_)
dann wird das CCR Register wohl sofort beschrieben wenn man es mit 
__HAL_TIM_SET_COMPARE beschreibt

und wenn preload eingeschaltet ist/wird...
__HAL_TIM_ENABLE_OCxPRELOAD(_HANDLE_, _CHANNEL_)
dann wird das CCR Register nach Aufruf von __HAL_TIM_SET_COMPARE wohl 
erst beim erreichen eines neuen Zyklus übernommen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren