From 78faea4b8dd3456131405fd72059476dc426ca2e Mon Sep 17 00:00:00 2001 From: BreederBai Date: Mon, 4 Jul 2022 10:26:33 +0800 Subject: [PATCH] =?UTF-8?q?[bsp/stm32]=E4=BC=98=E5=8C=96=E5=8A=9F=E8=83=BD?= =?UTF-8?q?(drv=5Fpwm)=EF=BC=9A=E8=AE=BE=E7=BD=AEPWM=E9=A2=91=E7=8E=87?= =?UTF-8?q?=E5=92=8C=E8=84=89=E5=AE=BD=E6=97=B6=E4=B8=8D=E7=A0=B4=E5=9D=8F?= =?UTF-8?q?=E4=B8=8A=E4=B8=80=E4=B8=AAPWM=E5=91=A8=E6=9C=9F=20(#6129)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [bsp/stm32]优化功能(drv_pwm):设置PWM频率和脉宽时不破坏上一个PWM周期 --- bsp/stm32/libraries/HAL_Drivers/drv_pwm.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c b/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c index 81af346b1e..b655b7c442 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c @@ -330,10 +330,12 @@ static rt_err_t drv_pwm_set(TIM_HandleTypeDef *htim, struct rt_pwm_configuration pulse = period; } __HAL_TIM_SET_COMPARE(htim, channel, pulse - 1); - __HAL_TIM_SET_COUNTER(htim, 0); - /* Update frequency value */ - HAL_TIM_GenerateEvent(htim, TIM_EVENTSOURCE_UPDATE); + /* If you want the PWM setting to take effect immediately, + please uncommon the following code, but it will cause the last PWM cycle not complete. */ + //__HAL_TIM_SET_COUNTER(htim, 0); + + //HAL_TIM_GenerateEvent(htim, TIM_EVENTSOURCE_UPDATE); /* Update frequency value */ return RT_EOK; } -- GitLab