STM32內部時鍾設置-寄存器版


STM32寄存器版本——內部時鍾設置

同時要記得把延時初始化函數設置好

 1 //系統時鍾初始化函數
 2 //pll:選擇的倍頻數,從2開始,最大值為16    
 3 //pll:選擇的倍頻數,這里使用內部時鍾,PLL為4就是4分頻     
 4 void Stm32_Clock_Init(u8 PLL)
 5 {
 6     unsigned char temp=0;   
 7     MYRCC_DeInit();            //復位並配置向量表
 8 //     RCC->CR|=0x00010000;    //外部高速時鍾使能HSEON
 9     RCC->CR|=0x00000001;    //內部高速時鍾使能HSEON
10 
11 //    while(!(RCC->CR>>17));  //等待外部時鍾就緒
12     while(!(RCC->CR>>1));   //等待內部時鍾就緒
13     
14     RCC->CFGR=0X00000000; //APB1=DIV1;APB2=DIV1;AHB=DIV1;
15     
16     PLL-=2;//抵消2個單位
17 //    RCC->CFGR|=PLL<<18;   //設置PLL值 2~16
18     RCC->CFGR|=PLL<<18;   //設置PLL值 2~16   4倍頻
19     RCC->CFGR|=0<<16;      //PLLSRC ON ,內部時鍾經過兩分頻后輸入給下一個寄存器
20     FLASH->ACR|=0x32;      //FLASH 2個延時周期
21 
22     RCC->CR|=0x01000000;  //PLLON
23     while(!(RCC->CR>>25));//等待PLL鎖定
24     RCC->CFGR|=0x00000002;//PLL作為系統時鍾     
25     while(temp!=0x02)     //等待PLL作為系統時鍾設置成功
26     {   
27         temp=RCC->CFGR>>2;
28         temp&=0x03;
29     }    
30 }            

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM