專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

STM32F103x時(shí)鐘配置

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年01月22日   【字體:
 void STM32_Clock_Init(u8 PLL)
 
{
unsigned char temp=0;
MYRCC_DeInit();              //復(fù)位并配置向量表
RCC->CR|=0x00010000;          //把時(shí)鐘控制寄存器的地16位置1來開啟外部振蕩器
while(!(RCC->CR>>17));        //通過判斷時(shí)鐘寄存器的地17位,看一下時(shí)鐘外部振蕩器是否就緒
RCC->CFGR=0x00000400;         //設(shè)置時(shí)鐘配置寄存器8-10位來保證APB1時(shí)鐘頻率不超過36MHz
PLL-=2;             //抵消2個(gè)單位
RCC->CFGR|=PLL<<18; //設(shè)置PLL值
RCC->CFGR|=1<<16; //外部時(shí)鐘作為PLL輸入時(shí)鐘
FLASH->ACR|=0x32; //FLASH兩個(gè)延時(shí)周期

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

 
}
關(guān)閉窗口

相關(guān)文章