當前位置:編程學習大全網 - 源碼下載 - stcf11f04內部時鐘是多少

stcf11f04內部時鐘是多少

首先在主程序中註釋掉SystemInit();

然後使用下面的函數做為系統時鐘的初始化函數

void RCC_Configuration(void)

{

RCC_DeInit();//將外設 RCC寄存器重設為缺省值

RCC_HSICmd(ENABLE);//使能HSI

while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);//等待HSI使能成功

//FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

//FLASH_SetLatency(FLASH_Latency_2);

RCC_HCLKConfig(RCC_SYSCLK_Div1);

RCC_PCLK1Config(RCC_HCLK_Div2);

RCC_PCLK2Config(RCC_HCLK_Div1);

//設置 PLL 時鐘源及倍頻系數

RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);//使能或者失能 PLL,這個參數可以取:ENABLE或者DISABLE

RCC_PLLCmd(ENABLE);//如果PLL被用於系統時鐘,那麽它不能被失能

//等待指定的 RCC 標誌位設置成功 等待PLL初始化成功

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

//設置系統時鐘(SYSCLK) 設置PLL為系統時鐘源

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//選擇想要的系統時鐘

//等待PLL成功用作於系統時鐘的時鐘源

// 0x00:HSI 作為系統時鐘

// 0x04:HSE作為系統時鐘

// 0x08:PLL作為系統時鐘

while(RCC_GetSYSCLKSource() != 0x08);//需與被選擇的系統時鐘對應起來,RCC_SYSCLKSource_PLL

}

void RCC_Configuration(void)

{

RCC_DeInit();//將外設 RCC寄存器重設為缺省值

RCC_HSICmd(ENABLE);//使能HSI

while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);//等待HSI使能成功

//FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

//FLASH_SetLatency(FLASH_Latency_2);

RCC_HCLKConfig(RCC_SYSCLK_Div1);

RCC_PCLK1Config(RCC_HCLK_Div2);

RCC_PCLK2Config(RCC_HCLK_Div1);

//設置 PLL 時鐘源及倍頻系數

RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);//使能或者失能 PLL,這個參數可以取:ENABLE或者DISABLE

RCC_PLLCmd(ENABLE);//如果PLL被用於系統時鐘,那麽它不能被失能

//等待指定的 RCC 標誌位設置成功 等待PLL初始化成功

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

//設置系統時鐘(SYSCLK) 設置PLL為系統時鐘源

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//選擇想要的系統時鐘

//等待PLL成功用作於系統時鐘的時鐘源

// 0x00:HSI 作為系統時鐘

// 0x04:HSE作為系統時鐘

// 0x08:PLL作為系統時鐘

while(RCC_GetSYSCLKSource() != 0x08);//需與被選擇的系統時鐘對應起來,RCC_SYSCLKSource_PLL

}

補充壹點:

由圖可以看出系統時鐘的供給可以有3種方式,HSI,HSE,PLL。如果選用內部時鐘作為系統時鐘,其倍頻達不到72Mhz,最多也就8Mhz/2*16 = 64Mhz。

  • 上一篇:塗磊從金牌導師淪落到網絡主播,塗磊都經歷了什麽?
  • 下一篇:用C++編寫:為訓練小學生的算術能力,現請妳幫忙設計壹個100以內的隨機出題程序,每次運行生成100道題。
  • copyright 2024編程學習大全網