keil如何进行软件仿真,以及如何查看变量的实时值

本文详细介绍MDK5软件仿真的操作步骤及工具条功能,包括如何设置软件仿真、进入仿真界面、观察变量值的方法及技巧。文章还介绍了如何在全速运行时观察局部变量值,提供了两种有效的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打开工程,点击魔术棒选择芯片和晶振,如下图
在这里插入图片描述
在这里插入图片描述
2.在Debug里面选择选择Use Simulator-使用软件仿真,勾选上Run to main()
在这里插入图片描述
3.点击红色的d符号,即可以进入仿真界面
在这里插入图片描述
下面介绍工具条的含义
在这里插入图片描述
1:复位,按下该按钮后,代码会重新从头开始执行。

2:执行到断点处,按按钮用来快速执行到断点处。

3:停止运行,程序执行的时候变为有效,可以使程序停止下来进入到单步调试状态。

4:执行进去,该按钮用来实现执行到某个函数里面去的功能,在没有函数的情况下等同于执行过去按钮。

5:执行过去,在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入这个函数单步执行。

6:执行出去,该按钮是进入了函数单步调试的时候,有时候可能不必再执行该函数的剩余部分了,通过该按钮就直接一步执行完函数余下的部分,并跳出函数回到函数被调用的位置。

7:执行到光标处:该按钮可以迅速使程序运行到光标处,与执行到断点处按钮功能类似。

8:汇编窗口,通过该按钮可以查看汇编代码,这对分析程序很有用。

9:堆栈局部变量窗口,通过该按钮可以显示Call Stack+Locals窗口,显示当前函数的局部变量及其值,方便查看。

10:观察窗口,MDK5提供2个观察窗口(下拉选择),该按钮按下则弹出一个显示变量的窗口。输入想观察的变量或表达式,即可查看其值,是很常用的调试窗口。

11:内存查看窗口,MDK5提供4个内存查看窗口,按下按钮,则弹出一个内存查看窗口,可以在里面输入要查看的内存地址,然后观察这一片内存的变化情况。

12:串口打印窗口,MDK5提供4个串口打印窗口。按下该按钮,则弹出一个类似串口调试助手界面的窗口,用来显示从串口打印出来的内容。

13:逻辑分析窗口,该图标下面有3个选项,一般用第一个,也就是逻辑分析窗口。通过SETUP按钮新建一些IO口,于是可以观察这些IO的电平变化情况,并以多种形式显示出来,比较直观。

14:系统查看窗口,该按钮可以提供各种外设寄存器的查看窗口(通过下拉选择),选择对应外设即可调出该外设的相关寄存器表,并显示这些寄存器的值,方便查看设置是否正确。

4.如果需要查看变量的值,只需要进入软件仿真界面,然后双击要观察的变量,右键选择 Add “i” to Watch1
在这里插入图片描述

如下图,右键点击变量,可以看到Hexadecimal Display被勾选了,这意味着变量以16进制的格式显示,想要让变量以10进制的方式显示,只需要将勾去掉即可。
在这里插入图片描述
5.局部变量在全速运行过程中观察不到,只有程序暂停时才能看到局部变量值。
想要在全速运行时就能看到局部变量值的变化有两种方法。
方法一:将局部变量声明为volatile类型
如下图:vu16类型 就是volatile unsigned short int类型。
在这里插入图片描述
方法二:将局部变量改为全局变量,这样全速运行时也能看到变量值变化。
如下图,可以看到变量i j k在main()函数外面。
在这里插入图片描述
进入仿真之后,要选择view菜单下的 periodic window update,然后点击全速运行,也可以看到变量的值。
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值