summaryrefslogtreecommitdiff
path: root/bsp/stm32/libraries/HAL_Drivers
diff options
context:
space:
mode:
author林永 <[email protected]>2020-08-27 10:41:09 +0800
committerGitHub <[email protected]>2020-08-27 10:41:09 +0800
commit5121b8da43e48f8012535d6cc12cc4d04eea2d0c (patch)
tree83f41fa2a6c49b1679d3b9fc550836333e84e8c1 /bsp/stm32/libraries/HAL_Drivers
parentdbd389a5a0440b6de128c7b097713cc4f64ffadd (diff)
Update drv_hwtimer.c
好的,已修正。
Diffstat (limited to 'bsp/stm32/libraries/HAL_Drivers')
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c b/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c
index c344145c37..ea7663377b 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c
@@ -168,8 +168,16 @@ static void timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state)
uint32_t FLatency = 0;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
HAL_RCC_GetClockConfig(&RCC_ClkInitStruct, &FLatency);
- uint32_t pclk1_doubler = 1 + ( RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1 );
- uint32_t pclk2_doubler = 1 + ( RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1 );
+ uint32_t pclk1_doubler = 1;
+ uint32_t pclk2_doubler = 1;
+ if(RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1)
+ {
+ pclk1_doubler = pclk1_doubler + 1;
+ }
+ if(RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1)
+ {
+ pclk2_doubler = pclk2_doubler + 1;
+ }
/* time init */
#if defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7)
@@ -300,8 +308,16 @@ static rt_err_t timer_ctrl(rt_hwtimer_t *timer, rt_uint32_t cmd, void *arg)
uint32_t FLatency = 0;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
HAL_RCC_GetClockConfig(&RCC_ClkInitStruct, &FLatency);
- uint32_t pclk1_doubler = 1 + ( RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1 );
- uint32_t pclk2_doubler = 1 + ( RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1 );
+ uint32_t pclk1_doubler = 1;
+ uint32_t pclk2_doubler = 1;
+ if(RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1)
+ {
+ pclk1_doubler = pclk1_doubler + 1;
+ }
+ if(RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1)
+ {
+ pclk2_doubler = pclk2_doubler + 1;
+ }
#if defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7)
if (tim->Instance == TIM9 || tim->Instance == TIM10 || tim->Instance == TIM11)