获取STM32F10x系列各系统时钟频率

2025-10-05 15:25:07

1、【1】打开Keil uVision5软件,并创建相应的工程。

【2】添加头文件和相依的库。

获取STM32F10x系列各系统时钟频率

获取STM32F10x系列各系统时钟频率

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);

}

}

获取STM32F10x系列各系统时钟频率

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

获取STM32F10x系列各系统时钟频率

获取STM32F10x系列各系统时钟频率

4、 RCC_GetSYSCLKSource()获取系统时钟源的来源。


0x00 : HSI used as system clock
0x04 : HSE used as system clock
0x08 : PLL used as system clock

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢