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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mdk硬件仿真STM32 怎么查看当前系统时钟相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

参考技术A

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

  第一就是,在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,如果你安装的版本有硬件仿真,可以直接看到系统时钟频率,没有的话,就找到相关寄存器自己去算了。

参考技术B 设置一下,设备硬件晶振,设置为软件调试,启动debug运行,在菜单peripherals->Power,Reset and Clock Control(PRCC)下可以看到现在的系统时钟频率,本回答被提问者采纳

如何通过JLINK烧写STM32程序

参考技术A KEIL-MDK+jlink就可以硬件仿真调试和烧写。stvd好像是stm8的平台,stlink是stm8-stm32的官方烧写器。量产加烧录座。 参考技术B 用MDK,iar 还是ST自己的工具,方法很多,你用到的是哪个?

以上是关于mdk硬件仿真STM32 怎么查看当前系统时钟的主要内容,如果未能解决你的问题,请参考以下文章

基于STM32H743设计UI界面心得(还没写完)

有关STM32开发板JLINK和USB串口下载仿真的区别,我的认识可正确?详见补充

如何查看keil能否支持stm32m0内核

如何通过JLINK烧写STM32程序

CMSIS versions 在keil mdk中是具体指啥?

keilmdk怎么查看宏定义值