summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorbzrobotics <[email protected]>2022-10-05 13:07:26 +0800
committerMan, Jianting (Meco) <[email protected]>2022-10-08 22:32:45 -0400
commit560a21207e1000191ba359b4c2d014f50cb0c852 (patch)
treed34f7e624a97b4f3b8903c132a23720f9480f126 /bsp
parentc17d5d509fc01aa208554ce29a2d544281005c70 (diff)
FIX: [bsp][stm32] pulse_encoder driver did not handle TIM overflow
Diffstat (limited to 'bsp')
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c b/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c
index 4c076d7b77..a23b342eab 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c
@@ -157,10 +157,12 @@ rt_err_t pulse_encoder_control(struct rt_pulse_encoder_device *pulse_encoder, rt
switch (cmd)
{
case PULSE_ENCODER_CMD_ENABLE:
+ __HAL_TIM_ENABLE_IT(&stm32_device->tim_handler, TIM_IT_UPDATE);
HAL_TIM_Encoder_Start(&stm32_device->tim_handler, TIM_CHANNEL_ALL);
HAL_TIM_Encoder_Start_IT(&stm32_device->tim_handler, TIM_CHANNEL_ALL);
break;
case PULSE_ENCODER_CMD_DISABLE:
+ __HAL_TIM_DISABLE_IT(&stm32_device->tim_handler, TIM_IT_UPDATE);
HAL_TIM_Encoder_Stop(&stm32_device->tim_handler, TIM_CHANNEL_ALL);
HAL_TIM_Encoder_Stop_IT(&stm32_device->tim_handler, TIM_CHANNEL_ALL);
break;