summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-08-29 09:47:34 +0800
committerGitHub <[email protected]>2020-08-29 09:47:34 +0800
commit5495e6447d097737c6a8dd3fe4ffcd85f483499b (patch)
tree10e64c7204875ced23040a3d9cf3eb5f4a3fb1db
parent672881ee15d1c6df0ada197b22abd19a656974cd (diff)
parentc77e9991ea6fe111434d64d99c8915b67033e585 (diff)
Merge pull request #3857 from thread-liu/master
[update] drv_hwtimers.c file error struct member variables
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c b/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c
index cf0b82ae1d..274f3dc44f 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c
@@ -154,10 +154,10 @@ static struct stm32_hwtimer stm32_hwtimer_obj[] =
};
/* APBx timer clocks frequency doubler state related to APB1CLKDivider value */
-static void pclkx_doubler_get(uint32_t *pclk1_doubler, uint32_t *pclk2_doubler)
+static void pclkx_doubler_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler)
{
- uint32_t flatency = 0;
- RCC_ClkInitTypeDef RCC_ClkInitStruct;
+ rt_uint32_t flatency = 0;
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RT_ASSERT(pclk1_doubler != RT_NULL);
RT_ASSERT(pclk1_doubler != RT_NULL);
@@ -167,15 +167,27 @@ static void pclkx_doubler_get(uint32_t *pclk1_doubler, uint32_t *pclk2_doubler)
*pclk1_doubler = 1;
*pclk2_doubler = 1;
- if(RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1)
+#if defined(SOC_SERIES_STM32MP1)
+ if (RCC_ClkInitStruct.APB1_Div != RCC_APB1_DIV1)
+ {
+ *pclk1_doubler = 2;
+ }
+ if (RCC_ClkInitStruct.APB2_Div != RCC_APB2_DIV1)
+ {
+ *pclk2_doubler = 2;
+ }
+#else
+ if (RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1)
{
*pclk1_doubler = 2;
}
-
- if(RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1)
+#if !defined(SOC_SERIES_STM32F0) && !defined(SOC_SERIES_STM32G0)
+ if (RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1)
{
*pclk2_doubler = 2;
}
+#endif
+#endif
}
static void timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state)