您的位置 首页 数字

STM32F103x时钟装备

voidSTM32_Clock_Init(u8PLL){unsignedchartemp=0;MYRCC_DeInit();复位并配置向量表RCC->CR

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;
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/317420.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部