debug是我们写完程序后不得不做的一件事,也是一件令我们相当痛苦的事。没有人能够保证自己写出来的程序毫无bug,所以这就涉及到了一个问题:如何高效的解决程序中的bug,让它按我们设想的那样正常运行。
对于语法上的bug,我们可以通过warming和error提示的位置进行改正,而对于没有语法错误的程序,调试它们往往是最难的一个环节,我们很难直接看出问题的所在,只能将其下载到开发板上,观察其现象,然后凭经验猜测错误的地方。这会花费我们大量的时间。
那么有什么方法可以让程序一步步的运行,我们让它运行到哪,它就运行到哪,听我们指挥运行程序,一但程序没有正确执行,我们就能很直观的看出来呢?
上面我们所描述的功能,在keil中已经实现了,也就是我们常说的仿真功能。
![56919717400d6a9ac98d23e51d35b3e9.png](https://img-blog.csdnimg.cn/img_convert/56919717400d6a9ac98d23e51d35b3e9.png)
对于如何debug,keil软件提供了仿真功能,分为软件仿真和硬件仿真。
软件仿真,即在电脑上进行仿真,电脑模拟单片机运行程序
硬件仿真,及将软件下载到单片机上,然后在电脑上控制软件的运行
接下来我们来介绍一下仿真时各按键的功能
首先点击仿真按钮进入仿真:
![17f0c7913a192c13303d83106d242396.png](https://img-blog.csdnimg.cn/img_convert/17f0c7913a192c13303d83106d242396.png)
进入仿真后,软件上方出现了这样一行按钮:(接下来我们从左到右进行介绍)
![e5dd3825f9e4a1d6566bdf8bb9710004.png](https://img-blog.csdnimg.cn/img_convert/e5dd3825f9e4a1d6566bdf8bb9710004.png)
Reset:复位选项,点击此函数,程序回到main开头处,重新运行
![d0dd4f3eeb01670223e4f80ac9f4cda4.png](https://img-blog.csdnimg.cn/img_convert/d0dd4f3eeb01670223e4f80ac9f4cda4.png)
Run:全速运行程序,遇到断点则停下,否则一直运行
![6b6832cd5767ab35fef16a943f053ef2.png](https://img-blog.csdnimg.cn/img_convert/6b6832cd5767ab35fef16a943f053ef2.png)
Stop:停止全速运行的程序(点击Run按钮后,此按钮可用)