stm32查看当前时钟频率

最近毕业设计需要做了一个stm32最小系统板,上电后发现延时函数不对劲,1s的led延时大概等了10s左右,初步判断晶振电路出了问题。

获取当前时钟频率方法(库函数)

定义一个全局变量:

RCC_ClocksTypeDef get_rcc_clock;    //获取系统时钟状态

RCC_ClocksTypeDef是一个结构体

定义如下

typedef struct
{
  uint32_t SYSCLK_Frequency;  /*!< returns SYSCLK clock frequency expressed in Hz */
  uint32_t HCLK_Frequency;    /*!< returns HCLK clock frequency expressed in Hz */
  uint32_t PCLK1_Frequency;   /*!< returns PCLK1 clock frequency expressed in Hz */
  uint32_t PCLK2_Frequency;   /*!< returns PCLK2 clock frequency expressed in Hz */
  uint32_t ADCCLK_Frequency;  /*!< returns ADCCLK clock frequency expressed in Hz */

}RCC_ClocksTypeDef;

然后在main函数中获取当前系统时钟

RCC_GetClocksFreq(&get_rcc_clock);  //仿真的时候就可以在结构体get_rcc_clock中看见各个外设的时钟了

然后设置断点调试查看



猜你喜欢

转载自blog.csdn.net/czhzasui/article/details/80238156