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 怎么查看当前系统时钟的主要内容,如果未能解决你的问题,请参考以下文章
有关STM32开发板JLINK和USB串口下载仿真的区别,我的认识可正确?详见补充