各位前辈,我希望使用函数来自定义系统时钟,函数如下:
void RCC_HSE_Configuration(void)
{
RCC_Deinit(); //将外设RCC寄存器重设为缺省值
RCC_HSEConfig(RCC_HSE_ON); //设置HSE晶振打开
if(RCC_WaitForHSEStartUp() == SUCCESS) // 等待HSE起振,SUCCESS:HSE晶振稳定且就绪
{
RCC_HCLKConfig(RCC_SYSCLK_Div1); // 设置AHB时钟(HCLK)RCC_SYSCLK_DIV1:系统时钟1分频 AHB时钟=系统时钟
RCC_PCLK2Config(RCC_HCLK_Div1); // 设置高速AHB时钟APB(PCLK2) // RCC_HCLK_Div1:HCLK1分频,APB2时钟=HCLK
RCC_PCLK1Config(RCC_HCLK_Div2); // 设置低速AHB时钟APB1(PCLK1) RCC_HCLK_Div2:HCLK2分频,APB1时钟=HCLK/2
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);// 设置PLL时钟源及倍频系数
RCC_PLLCmd(ENABLE); // 使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); // 检查指定的RCC标志位(PLL准备好标志)设置与否
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //设置系统时钟(SYSCLK)
while(RCC_GetSYSCLKSource() != 0x08); // 0x08LL作为系统时钟
}
}
编译的时候,红 {MOD}的那一句提示,..Undefined symbol RCC_Deinit (referred from pbdata.o).说我未定义,我想应该是我文件包含的问题,导致无法找到RCC_Deinit(); 请问,这个函数应该如何调用??
PS:我把这个函数注释掉之后,编译可以通过了,但是当我调用 自定义时钟的时候,LED等却不亮了,是始终乱掉了么??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>