Skip to content

Commit 5495e64

Browse files
authored
Merge pull request #3857 from thread-liu/master
[update] drv_hwtimers.c file error struct member variables
2 parents 672881e + c77e999 commit 5495e64

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

bsp/stm32/libraries/HAL_Drivers/drv_hwtimer.c

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,10 @@ static struct stm32_hwtimer stm32_hwtimer_obj[] =
154154
};
155155

156156
/* APBx timer clocks frequency doubler state related to APB1CLKDivider value */
157-
static void pclkx_doubler_get(uint32_t *pclk1_doubler, uint32_t *pclk2_doubler)
157+
static void pclkx_doubler_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler)
158158
{
159-
uint32_t flatency = 0;
160-
RCC_ClkInitTypeDef RCC_ClkInitStruct;
159+
rt_uint32_t flatency = 0;
160+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
161161

162162
RT_ASSERT(pclk1_doubler != RT_NULL);
163163
RT_ASSERT(pclk1_doubler != RT_NULL);
@@ -167,15 +167,27 @@ static void pclkx_doubler_get(uint32_t *pclk1_doubler, uint32_t *pclk2_doubler)
167167
*pclk1_doubler = 1;
168168
*pclk2_doubler = 1;
169169

170-
if(RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1)
170+
#if defined(SOC_SERIES_STM32MP1)
171+
if (RCC_ClkInitStruct.APB1_Div != RCC_APB1_DIV1)
172+
{
173+
*pclk1_doubler = 2;
174+
}
175+
if (RCC_ClkInitStruct.APB2_Div != RCC_APB2_DIV1)
176+
{
177+
*pclk2_doubler = 2;
178+
}
179+
#else
180+
if (RCC_ClkInitStruct.APB1CLKDivider != RCC_HCLK_DIV1)
171181
{
172182
*pclk1_doubler = 2;
173183
}
174-
175-
if(RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1)
184+
#if !defined(SOC_SERIES_STM32F0) && !defined(SOC_SERIES_STM32G0)
185+
if (RCC_ClkInitStruct.APB2CLKDivider != RCC_HCLK_DIV1)
176186
{
177187
*pclk2_doubler = 2;
178188
}
189+
#endif
190+
#endif
179191
}
180192

181193
static void timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state)

0 commit comments

Comments
 (0)