STM32内部时钟设置-寄存器版
Posted 期待YMM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32内部时钟设置-寄存器版相关的知识,希望对你有一定的参考价值。
STM32寄存器版本——内部时钟设置
同时要记得把延时初始化函数设置好
1 //系统时钟初始化函数 2 //pll:选择的倍频数,从2开始,最大值为16 3 //pll:选择的倍频数,这里使用内部时钟,PLL为4就是4分频 4 void Stm32_Clock_Init(u8 PLL) 5 { 6 unsigned char temp=0; 7 MYRCC_DeInit(); //复位并配置向量表 8 // RCC->CR|=0x00010000; //外部高速时钟使能HSEON 9 RCC->CR|=0x00000001; //内部高速时钟使能HSEON 10 11 // while(!(RCC->CR>>17)); //等待外部时钟就绪 12 while(!(RCC->CR>>1)); //等待内部时钟就绪 13 14 RCC->CFGR=0X00000000; //APB1=DIV1;APB2=DIV1;AHB=DIV1; 15 16 PLL-=2;//抵消2个单位 17 // RCC->CFGR|=PLL<<18; //设置PLL值 2~16 18 RCC->CFGR|=PLL<<18; //设置PLL值 2~16 4倍频 19 RCC->CFGR|=0<<16; //PLLSRC ON ,内部时钟经过两分频后输入给下一个寄存器 20 FLASH->ACR|=0x32; //FLASH 2个延时周期 21 22 RCC->CR|=0x01000000; //PLLON 23 while(!(RCC->CR>>25));//等待PLL锁定 24 RCC->CFGR|=0x00000002;//PLL作为系统时钟 25 while(temp!=0x02) //等待PLL作为系统时钟设置成功 26 { 27 temp=RCC->CFGR>>2; 28 temp&=0x03; 29 } 30 }
以上是关于STM32内部时钟设置-寄存器版的主要内容,如果未能解决你的问题,请参考以下文章
stm32启动的时候默认的是哪个时钟,是RC还是外部晶体?何以更改默认时钟么?
如何设置 stm32f4 实时时钟(RTC)以在亚秒寄存器中获取有效值?