(因为SystemInit的配置较低,能跑起来,需要重新配置时钟在72M,文档说最高能84M)
void RCC_MyConfig(void)
{
RCC_DeInit(); //@1
RCC_HSEConfig(RCC_HSE_ON); //打开外部时钟
if(RCC_WaitForHSEStartUp() == SUCCESS) //等待外部时钟成功启动
{
RCC_HCLKConfig(RCC_SYSCLK_Div1); //HCLK(AHB)时钟为系统时钟1分频
RCC_PCLK1Config(RCC_HCLK_Div8); //PCLK(APB1)时钟为HCLK时钟8分频
RCC_PCLK2Config(RCC_HCLK_Div2); //PCLK(APB2)时钟为HCLK时钟2分频
RCC_PLLConfig(RCC_PLLSource_HSE, 8, 288, 4, 6); //PLL时钟配置,外部晶振为8MHz,系统配置为8/8*336/4 =84MHz usb=336/7=48
RCC_PLLCmd(ENABLE); //开启PLL时钟,并等待PLL时钟准备好
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //选择PLL时钟为系统时钟
while(RCC_GetSYSCLKSource() != 0x08); //Wait till PLL is used as system clock source
}
}
