Board logo

标题: STM32的时钟系统RCC详细整理(4) [打印本页]

作者: yuyang911220    时间: 2015-11-21 21:32     标题: STM32的时钟系统RCC详细整理(4)

2、使用寄存器进行RCC时钟初始化配置

void RCC_init(u8 PLL)//输入PLL的倍频值216倍频

//HCLK=PLLCLK=SYSCLK=P2CLK=P1CLK*2=ADCCLK*2=TIMCLK=USBCLK*2/3
{

unsigned char temp=0;


//RCC_DeInit();

//RCC寄存器重新设置为默认值


RCC->CR|=0x00010000;
//外部高速时钟使能HSEON

while(!(RCC->CR>>17));//等待外部时钟就绪


RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;

PLL-=2;//抵消2个单位


RCC->CFGR|=PLL<<18;
//设置PLL倍频值 2~16

RCC->CFGR|=1<<16;

//PLL时钟源选择


FLASH->ACR|=0x32;

//FLASH 2个延时周期


RCC->CR|=0x01000000;
//PLLON

while(!(RCC->CR>>25));//等待PLL锁定


RCC->CFGR|=0x00000002;//PLL作为系统时钟


while(temp!=0x02)
//等待PLL作为系统时钟设置成功


{


temp=RCC->CFGR>>2;

temp&=0x03;

}

}




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0