新聞中心

STM32F103x時鐘配置

作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
void STM32_Clock_Init(u8 PLL)
{
unsigned char temp=0;
MYRCC_DeInit(); //復(fù)位并配置向量表
RCC->CR|=0x00010000; //把時鐘控制寄存器的地16位置1來開啟外部振蕩器
while(!(RCC->CR>>17)); //通過判斷時鐘寄存器的地17位,看一下時鐘外部振蕩器是否就緒
RCC->CFGR=0x00000400; //設(shè)置時鐘配置寄存器8-10位來保證APB1時鐘頻率不超過36MHz
PLL-=2; //抵消2個單位
RCC->CFGR|=PLL<<18; //設(shè)置PLL值
RCC->CFGR|=1<<16; //外部時鐘作為PLL輸入時鐘
FLASH->ACR|=0x32; //FLASH兩個延時周期

RCC->CR|=0x01000000; //通過時鐘寄存器的第24位,使能PLL
while(!(RCC->CR>>25)); //通過判斷時鐘寄存器的第25位,看一下PLL是否就位
RCC->CFGR|=0x00000002; //通過設(shè)置時鐘配置寄存器的第0-1位把PLL作為系統(tǒng)時鐘
while(temp!=0x02) //等待PLL作為系統(tǒng)時鐘
{
temp=RCC->CFGR>>2;
temp&=0x03;
}

}


關(guān)鍵詞: STM32F103x時鐘配

評論


技術(shù)專區(qū)

關(guān)閉