如何確認STM32時鐘配置是否正確
阿新 • • 發佈:2019-01-30
配置STM32F103時鐘(HSI)為48M
void SystemClock_Config(void)
{
RCC_DeInit();
RCC_HSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);
RCC_PLLCmd(ENABLE);
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08);
}
在Main()函式裡面新增監控程式碼
RCC_ClocksTypeDef RCC_Clocks;
RCC_GetClocksFreq(&RCC_Clocks);
開啟硬體模擬,將RCC_Clocks新增至監控視窗
SYSCLK_Frequenc為當前設定的時鐘,即48M。
定時器的1MS定時
想要測試1M定時準確性,Keil需要配置CoreClock,並且需要它的時鐘值與微控制器配置的時鐘值(48M)保持一致,下圖為配置的位置:
下圖為Keil監控微控制器定時器執行的截圖