From 3ea3f3447e2a6f6233d64ed84ef7e5abc9cc655a Mon Sep 17 00:00:00 2001 From: TamapChn Date: Sun, 26 Nov 2023 16:58:29 +0800 Subject: [bsp][stm32] 修复 encoder驱动 编码器数值的计算问题 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bsp') diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c b/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c index 51e3c64c7b..8482b598ad 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_pulse_encoder.c @@ -143,7 +143,7 @@ rt_int32_t pulse_encoder_get_count(struct rt_pulse_encoder_device *pulse_encoder { struct stm32_pulse_encoder_device *stm32_device; stm32_device = (struct stm32_pulse_encoder_device*)pulse_encoder; - return (rt_int32_t)((rt_int16_t)__HAL_TIM_GET_COUNTER(&stm32_device->tim_handler) + stm32_device->over_under_flowcount * AUTO_RELOAD_VALUE); + return (rt_int32_t)((rt_int16_t)__HAL_TIM_GET_COUNTER(&stm32_device->tim_handler) + stm32_device->over_under_flowcount * (AUTO_RELOAD_VALUE + 1)); } rt_err_t pulse_encoder_control(struct rt_pulse_encoder_device *pulse_encoder, rt_uint32_t cmd, void *args) -- cgit v1.3.1