void STM32_Clock_Init(uint8_t PLL)
{
uint8_t temp=0;
MYRCC_DeInit(); 复位并配置向量表
RCC->CR|=0x00010000; 选用外部晶振
while(!(RCC->CR &=0X00020000)); 等待外部时钟就绪
RCC->CFGR=0X00000400;
PLL-=2;
RCC->CFGR|=PLL<<18; 倍频到48MHZ
RCC->CFGR|=1<<16; PLLSRC ON
FLASH->ACR|=0x32;
RCC->CR|=0x01000000; PLLON(Bit24)
while(!(RCC->CR &=0X02000000)); 等待 PLLPLLPLL锁
RCC->CFGR|=0x00000002; PLL作为系统时钟
while(temp!=0x02) 等待 PLLPLLPLL作为系统时钟设置成功
{
temp=RCC->CFGR>>2;
temp&=0x03;
}
RCC->APB2ENR|=1<<0; 使能SYSCFG时钟
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
仔细阅读一下时钟部份的资料,看看有没有什么关键配置没有打开,同时更换晶振和起振电容(一般除了容值相差很大的情况才会不起振),检测电路连接
一周热门 更多>