STM32F4获取并查看当前系统时钟频率

在进行项目开发的时候有时候需要知道系统各个时钟的频率,可以使用以下两条语句:

① RCC_ClocksTypeDef get_rcc_clock;

头文件:stm32f4xx_rcc.h

功能:定义了一个RCC_ClocksTypeDef结构体类型的结构体get_rcc_clock,该结构体类型有四个成员:SYSCLK_Frequency、HCLK_Frequency、PCLK1_Frequency和PCLK2_Frequency。
typedef struct
{
  uint32_t SYSCLK_Frequency; /*!<  SYSCLK clock frequency expressed in Hz */
  uint32_t HCLK_Frequency;   /*!<  HCLK clock frequency expressed in Hz   */
  uint32_t PCLK1_Frequency;  /*!<  PCLK1 clock frequency expressed in Hz  */
  uint32_t PCLK2_Frequency;  /*!<  PCLK2 clock frequency expressed in Hz  */
}RCC_ClocksTypeDef;

② RCC_GetClocksFreq(&get_rcc_clock)

头文件:stm32f4xx_rcc.h

功能:获取四种时钟频率:SYSCLK、HCLK、PCLK1和PCLK2

 

程序编译后进行调试处理,进入调试画面运行至RCC_GetClocksFreq(&get_rcc_clock)后,在底部的"Call Stack + Locals"一栏就可以看到SYSCLK、HCLK、PCLK1和PCLK2对应的频率,如下图:

                                    STM32F4获取并查看当前系统时钟频率_第1张图片

注意:这里默认是显示十六进制数的,需要对这些数据点击右键会出现"Hexadcimal Display"打勾,点击一下就可以切换到十进制数了。

你可能感兴趣的:(嵌入式开发)