获取STM32F10x系列各系统时钟频率
1、【1】打开Keil uVision5软件,并创建相应的工程。
【2】添加头文件和相依的库。


2、编写主函数获取系统时钟频率。
RCC_ClocksTypeDef RCC_CLK;
int main(void)
{
vSystem_Init();
RCC_GetClocksFreq(&RCC_CLK);//Get chip frequencies
#if ( USE_SEGGER_RTT_ENABLE > 0 )//Use segger rtt enable
SEGGER_RTT_printf(0, "System Clock Source : %d\r\n", RCC_GetSYSCLKSource());
SEGGER_RTT_printf(0, "APB1/PCLK1 : %dHZ\r\n", RCC_CLK.PCLK1_Frequency);
SEGGER_RTT_printf(0, "APB2/PCLK2 : %dHZ\r\n", RCC_CLK.PCLK2_Frequency);
SEGGER_RTT_printf(0, "SYSCLK : %dHZ\r\n", RCC_CLK.SYSCLK_Frequency);
SEGGER_RTT_printf(0, "HCLK : %dHZ\r\n", RCC_CLK.HCLK_Frequency);
#endif
while(1)
{
vKeyBoard_Service_Handle();
PAout(6) = 0;
vDelay_ms(100);
PAout(6) = 1;
vDelay_ms(1000);
}
}

3、使用J-Link RTT和在线调试打印显示结果
00> Build Times: Mar 14 2020 08:57:46
00> STM32F103xx Start Running......
00>
00> System Clock Source : 8
00> APB1/PCLK1Â : 64000000HZ
00> APB2/PCLK2Â : 64000000HZ
00> SYSCLK : 64000000HZ
00> HCLK : 64000000HZ


4、 RCC_GetSYSCLKSource()获取系统时钟源的来源。
0x00 : HSI used as system clock
0x04 : HSE used as system clock
0x08 : PLL used as system clock