专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

STM32F103x时钟配置

作者:佚名   来源:本站原创   点击数:  更新时间:2014年01月22日   【字体:
 void STM32_Clock_Init(u8 PLL)
 
{
unsigned char temp=0;
MYRCC_DeInit();              //复位并配置向量表
RCC->CR|=0x00010000;          //把时钟控制寄存器的地16位置1来开启外部振荡器
while(!(RCC->CR>>17));        //通过判断时钟寄存器的地17位,看一下时钟外部振荡器是否就绪
RCC->CFGR=0x00000400;         //设置时钟配置寄存器8-10位来保证APB1时钟频率不超过36MHz
PLL-=2;             //抵消2个单位
RCC->CFGR|=PLL<<18; //设置PLL值
RCC->CFGR|=1<<16; //外部时钟作为PLL输入时钟
FLASH->ACR|=0x32; //FLASH两个延时周期

 
RCC->CR|=0x01000000; //通过时钟寄存器的第24位,使能PLL
while(!(RCC->CR>>25)); //通过判断时钟寄存器的第25位,看一下PLL是否就位
RCC->CFGR|=0x00000002; //通过设置时钟配置寄存器的第0-1位把PLL作为系统时钟
while(temp!=0x02) //等待PLL作为系统时钟
{
temp=RCC->CFGR>>2;
temp&=0x03;
}

 
}
关闭窗口

相关文章