一、RCC_ConfigPclk2
1.官方库源码
代码如下(示例):
/**
* @brief Configures the High Speed APB clock (PCLK2).
* @param RCC_HCLK defines the APB2 clock divider. This clock is derived from
* the AHB clock (HCLK).
* This parameter can be one of the following values:
* @ARG RCC_HCLK_DIV1 APB2 clock = HCLK
* @arg RCC_HCLK_DIV2 APB2 clock = HCLK/2
* @arg RCC_HCLK_DIV4 APB2 clock = HCLK/4
* @arg RCC_HCLK_DIV8 APB2 clock = HCLK/8
* @arg RCC_HCLK_DIV16 APB2 clock = HCLK/16
*/
void RCC_ConfigPclk2(uint32_t RCC_HCLK)
{
uint32_t tmpregister = 0;
/* Check the parameters */
assert_param(IS_RCC_HCLK_DIV(RCC_HCLK));
tmpregister = RCC->CFG;
/* Clear PPRE2[2:0] bits */
tmpregister &= CFG_APB2PRES_RESET_MASK;
/* Set PPRE2[2:0] bits according to RCC_HCLK value */
tmpregister |= RCC_HCLK << 3;
/* Store the new value */
RCC->CFG = tmpregister;
}
2.使用场景
代码如下(示例):
void Timer1_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitType TIM_TimeBaseStructure;
NVIC_InitType NVIC_InitStructure;
RCC_ConfigPclk2(RCC_HCLK_DIV4);
/* 配置定时器TIM1时钟 */
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_TIM1, ENABLE);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
/* 使能定时器TIM1中断 */
NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* 配置定时器TIM1 */
TIM_TimeBaseStructure.Period = arr;
TIM_TimeBaseStructure.Prescaler = psc;
TIM_TimeBaseStructure.ClkDiv = 0;
TIM_TimeBaseStructure.CntMode = TIM_CNT_MODE_UP;
TIM_InitTimeBase(TIM1, &TIM_TimeBaseStructure);
/* 定时器TIM1向上计时 */
TIM_ConfigInt(TIM1, TIM_INT_UPDATE, ENABLE);
/* 使能定时器TIM1 */
TIM_Enable(TIM1, ENABLE);
}
3.出现的问题
当在高级定时器中使用RCC_ConfigPclk2(RCC_HCLK_DIV4);,会使串口打印printf出现乱码,很明显是串口波特率受到影响,按RCC_ConfigPclk2的说明是APB2时钟分频,而串口也是使用APB2时钟。所以这个问题怎么去解决还是个未解的问题。
3.暂时解决办法
暂时的解决办法就是屏蔽不使用RCC_ConfigPclk2(RCC_HCLK_DIV4);
//RCC_ConfigPclk2(RCC_HCLK_DIV4);
二、总结
官方提供的库例程中的高级定时器TIM1也使用了RCC_ConfigPclk2(RCC_HCLK_DIV4); 如果有知道是什么问题的可以留言。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/suqingxiao/article/details/122231926
|