|
void Init_PLL(void)
{
RCC_PLL_InitTypeDef PLL_InitStruct;
PLL_InitStruct.PLLDB = 609; //pll倍频数 = PLLDB + 1
PLL_InitStruct.PLLINSEL = RCC_PLLCON_PLLINSEL_RCLP;//RCC_PLLCON_PLLINSEL_XTLF; //PLL时钟源选择XTLF
PLL_InitStruct.PLLOSEL = RCC_PLLCON_PLLOSEL_MUL2; //默认选择1倍输出,当超出PLLDB的1023时,可使用2倍输出实现更高的倍频
PLL_InitStruct.PLLEN = ENABLE; //默认关闭PLL
RCC_PLL_Init(&PLL_InitStruct);
RCC_PLLCON_PLLEN_Setable(ENABLE);//关闭PLL
}
//系统时钟配置
//使用RCHF做主时钟,define_all.h 中SYSCLKdef宏控制系统时钟频率
void Init_SysClk(void)
{
RCC_RCHF_InitTypeDef RCHF_InitStruct;
RCC_SYSCLK_InitTypeDef SYSCLK_InitStruct;
RCHF_InitStruct.FSEL = SYSCLKdef;//define_all.h 中SYSCLKdef宏控制系统时钟频率
RCHF_InitStruct.RCHFEN = ENABLE;//打开RCHF
RCC_RCHF_Init(&RCHF_InitStruct);
SYSCLK_InitStruct.SYSCLKSEL = RCC_SYSCLKSEL_SYSCLKSEL_PLL;//RCC_SYSCLKSEL_SYSCLKSEL_RCHF; //选择RCHF做主时钟
SYSCLK_InitStruct.AHBPRES = RCC_SYSCLKSEL_AHBPRES_DIV1; //AHB不分频
SYSCLK_InitStruct.APBPRES = RCC_SYSCLKSEL_APBPRES_DIV1; //APB不分频
SYSCLK_InitStruct.EXTICKSEL = RCC_SYSCLKSEL_EXTICKSEL_AHBCLK; //EXTI,数字滤波时钟使用AHB时钟
SYSCLK_InitStruct.SLP_ENEXTI = ENABLE;//休眠模式使能外部中断采样
SYSCLK_InitStruct.LPM_RCLP_OFF = DISABLE;//休眠模式下开启RCLP
RCC_SysClk_Init(&SYSCLK_InitStruct);
}
运行到RCC_SysClk_Init时程序跑飞,关键问题是前几天这个程序多次运行一直都很正常,今天再次使用时就跑飞了,请教一下问题出在哪里?
|
|