分析说明stm32f10x中,经过pll前后,时钟频率最高可达到多少
发布网友
发布时间:2022-06-08 23:34
我来回答
共1个回答
热心网友
时间:2023-09-12 01:08
在main函数初始化的最后,进入大循环之前,添加如下语句:
RCC->CFGR = ~0x;//系统时钟清0
RCC->CFGR |= 0x ;//00:HSI 01:HSE 10:PLL,最低两位00内部RC,01外部晶振,是没有倍频的
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //PLL 72M
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
}
// 更改下面一句里面的RCC_PLLMul_9数值9为你需要的倍频频率,基本单位为8M
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //PLL 72M