1、单击keil4窗口的调试按钮快捷图标 ,进入到软件模拟调试模式,如图所示 ![](https://i-blog.csdnimg.cn/blog_migrate/0d6cb2a4cfce9b64eaaaf7f6c8fca34c.png)
在软件调试模式下,可以设置断点、单步、全速、进入某个函数内部运行,还可以查看变量的变化过程、模拟硬件IO口电平变化、查看代码执行时间等,先了解一下调试按钮的功能: ![](https://i-blog.csdnimg.cn/blog_migrate/0ecaa72fe219c6e45516be2cb53f8947.png)
其中,RST是将程序复位到主函数的最开始初,准备重新运行程序。 是全速运行,运行程序中时间不停止。
是停止全速运行,用来停止正全速运行的程序。
是进入子函数内部。
是单步执行代码,它不会进入子函数内部,可直接跳过函数。
是跳出当前进入的函数,只有进入子函数内容该按钮才被激活。
是程序直接运行至当前光标所在行。
是显示/隐藏编译窗口,可以查看每行C语言代码编译后所对应的汇编代码。
是显示/隐藏变量观察窗口,可以查看各个变量值的变化状态,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e5aeef93d40de5676779d43bd1f9d560.png)
2、还可以查看硬件IO口电平变化和变量值的变化,先将硬件IO口模拟器打开,如下图所示:![](https://i-blog.csdnimg.cn/blog_migrate/cb69601c426461479c68e5048bf3abbd.png) 3、再单击窗口右下角变量观察窗口的watch#1标签,窗口变成下图所示,可以看到上面显示type F2 to edit字样,按两次F2输入程序中用到的变量temp和a,右侧立即显示出变量值0x00,因为两个变量最开始定义的时候没有给它们赋初值,编译器默认给它们赋的初值是0,当执行到后面的程序的时候,temp和a的值才会变化。 ![](https://i-blog.csdnimg.cn/blog_migrate/05aa9592861de0ff0e476d21b2bc2f2c.png)
4、在窗口的左侧为寄存器窗口,可以看到一些寄存器名称和它们的值,sec为程序代码执行所用的时间,单位是秒,这是程序启动执行到目前停止位置所花的所有时间。 ![](https://i-blog.csdnimg.cn/blog_migrate/a07ed0d36b703ffd9b6bb50aa24222ac.png)
|