STM32F401外部晶振8M改为16M起不来

2019-07-20 01:39发布

大神们求助啊,我的程序在8M的内部晶振环境下可以运行,现在改为16M了修改HSE_VALUE    ((uint32_t)16000000)
#define PLL_M      16      
这样算出来的SYSCLK也是168M但是程序在SetSysClock时一直卡在   
/* Wait till the main PLL is used as system clock source */
    while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL);
    {
    }

把SetSysClock()函数注释掉后,程序能跑,但串口无法收发数据。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
sheepsleepin414
1楼-- · 2019-07-20 03:27
 精彩回答 2  元偷偷看……
vitamin4520
2楼-- · 2019-07-20 07:15
#if defined (STM32F401xx)
#define PLL_N      336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P      2
#endif /* STM32F401xx */
这样起不来,但是把PLL_P  改为4就可以起来。这个时候的 SYSCLK =84M   

一周热门 更多>