|

- 帖子
- 3720
- 精华
- 14
- 积分
- 51994
- 在线时间
- 2276 小时
- 最后登录
- 2010-9-4
|
6#
发表于 2010-2-5 12:10
| 只看该作者
可以看到旁边出现了一个小框框,上面显示了n=0x47D3,这就是变量此时的值。如果觉得这样可能会点不准确,可以选中你要看的变量,同样会显示变量的值,个人感觉这种操作更为方便。如图:
在命令行输入的方法也可以看变量,在命令行输入n,回车,就看到结果了。请注意看下图的命令行窗口的结果。
这里再教一招,如果我想让n 现在就变成我想要的值怎么办?这也是调试常见的手段,设置一个变量的值,比如,让n =0x1234,只要在命令框里输入“n=0x1234”就行了,几乎所有变量都可以这样直接设置,包括IO 口,比如你输入“P1.1=0”, 结果第二个灯就亮了。还有一招常用的,就是在watch 窗口看变量。点watch 图标,就是那个有个眼镜的图标,打开watch 窗口。如图:
这个窗口里有locals 页就是当前函数使用的变量的列表,还有有watch 1 和2 两个窗口,就是自定义要看的变量的值,可以手工输入,也可以选中某个变量,按右键,将出现一个菜单。选择add 到watch 窗口即可,在程序停止时随时看到此变量的值。注意要看某个变量,如果这个变量是某个函数私有的,必须是程序停止时并且PC 已经停止在了这个函数中才可以看到,各种看变量的情况都是这样。还有一种直接看存储器的方法,可以看到所有存储器的值,但是和变量名称就不是那么好对应起来了。点memory 窗口图标,打开memory 窗口,如图:
在Address 窗口输入:“d:0x00”就可以看到data 空间的从0x00 开始的所有内存。如上图。
输入“i:0x00”,就可以看到idata 空间的所有内存的值。
输入“x:0x00”,就可以看到xdata 空间的所有内存的值。
输入“c:0x00”,就可以看到code 空间的所有程序。
在实际的硬件调试方式中,如果不用看memery 窗口,就建议不用打开它。因为保持它的打开会增加仿真时通讯的时间,特别是单步运行的时间。
这一章就完成了,我们学会了,指令延时,取反的用法,还有更重要的就是如何在keil调试环境中查看变量。 |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|