mdk硬件仿真STM32 怎么查看当前系统时钟

2024-12-02 04:09:29
推荐回答(3个)
回答1:

1、首先打开main.c文件,在头写一个delay的延时方法,如下图。

2、然后在延时方法下面写出自定义设置系统时钟的方法,如下图。

3、然后就可以在入口程序中首先调用 设置系统时钟方法,传入对应的参数,先设置好系统时钟,然后再设置LED灯的点亮熄灭之间加入延时方法,如下图。

4、然后编译代码,下图中可以看出0错误,0警告,如下图。

5、编译成功之后,就可以将代码下载到STM32F407的开发板中观察实验现象了。

回答2:

  要在仿真时看系统时钟频率,我知道两个方法。

  第一就是,在system_stm32f10x.c这个文件中,有个全局变量,叫SystemCoreClock,保存了当前系统时钟的值。但是这个变量的值是在编译的时候就固定的,依赖于你的配置,在system_stm32f10x.c文件中有如下定义:

#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
 #define SYSCLK_FREQ_24MHz  24000000
#else
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz  24000000 */ 
/* #define SYSCLK_FREQ_36MHz  36000000 */
/* #define SYSCLK_FREQ_48MHz  48000000 */
/* #define SYSCLK_FREQ_56MHz  56000000 */
#define SYSCLK_FREQ_72MHz  72000000
#endif

  默认是定义的72M。

  另外一个就是,在调试时,KEIL的Peripherals菜单下,找到RCC,如果你安装的版本有硬件仿真,可以直接看到系统时钟频率,没有的话,就找到相关寄存器自己去算了。

回答3:

设置一下,设备硬件晶振,设置为软件调试,启动debug运行,在菜单peripherals->Power,Reset and Clock Control(PRCC)下可以看到现在的系统时钟频率,