微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32F103x时钟配置

STM32F103x时钟配置

时间:12-01 来源:互联网 点击:
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;

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top