stm32怎么通过仿真器在keil的debug中查看定时器的计数值

stm32怎么通过仿真器在keil的debug中查看定时器的计数值,第1张

在使用Keil开发环境编写stm32程序时我们经常会用到硬件在线仿真的功能,能在watch窗口中看到我们在程序中定义的全局变量。我们希望在程序实时运行中看到变量的变化情况,但有时不能实时查看,原因是软件的设置不对。
在Debug模式下,点击菜单栏下的View,在下面有一个Periodic Window update 点一下,选定一下就行了。

keil单步运行的步骤如下:
1、按CTRL+F5进入调试运行状态
2、按F11就执行单步运行了。
此时,你要观察什么内容,可以点击“VIEW”菜单,选择相应的栏目,如果要查看端口状态,可以点击菜单“PeriPherals”选择相应的端口。

JLINK,这个问题我没遇到,但是用STM32的SWJ模式好些,省IO口,还速度快。watch窗口里的变量即便是在片子运行期间都会跟着变化,不是实时的,有滞后,但好过JTAG模式那样停止后才更新。
我是观察16次定时器捕捉的值,存到RAM的自定义数组里。
还有一点,注意MDK的版本,最新的40还有问题,用38的很不错。35以后的才开始支持SWJ模式,最早几个支持STM32的版本在仿真器的驱动上是有BUG的。
ST LINK是单位的,我用过一次就甩了,上面的捕捉,只能看到数组的前8个值,后8个压根不变。

1 你查看的方法是对的。
2 大片为0的原因是在startup的时候内部RAM被全部清零了。之后假如你没有赋值过的话当然很多单元仍然是0。至于外部RAM,软件仿真时初始也是全部为0的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13395863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存