软件调试查看运行时间

点击打开在线编译器,边学边练

上一讲我们知道“for(i=0;i<30000;i++);”只是延时了大概的一段时间而已,虽然我们可以把30000改变为其他的数(不能超过65535)来取决他的延时持续时间,但我们想要延时1秒似乎有点难测出来。那么这一节我们来教大家如何查看程序代码的执行时间。


步骤1

首先我们需要修改软件中的晶振值为11.0592M,创建工程时默认是24M,我们修改为开发板上所用的晶振值来达到软件仿真接近实际硬件的实验想象。

2.4.png


步骤2

在上一讲的代码中我们先 编译通过 之后点击“Start/Stop Debug Session” 

2.5.png


步骤3

接着光标移到21,22行的阴影处点击出来两个红色断点,在之后点击Reset 

2.6.png


步骤4

回到main.c文件,按下Run键,此时看到前面运行的一些程序已经用去了0.00042752秒

2.7.png


步骤5

现在两个叠加在一起的横三角指着21行,意思是准备执行这条语句,我们再按一下Run,看到时间变为0.00042860s,所以得出运行21行处的“LED2=0;”这条语句用了0.00042860-0.00042752=0.00000108s,也就是1.08微秒。

2.8.png


步骤6

此时的双横三角指示箭头来到22行处,同理此时如果按Run,程序就会开始执行“for(i=0;i<30000;i++);”语句。不过我们还需再次在23行处点击出红色断点,这个断点是为了在运行完“for(i=0;i<30000;i++);”语句时统计所有之前程序花费的时间,不加这个断点程序就会一直执行下去,也就捕捉不到 “for(i=0;i<30000;i++);”语句所花费多长的时间。

现在我们按下Run。

可以看到“for(i=0;i<30000;i++);”这条语句用了 0.16342556-0.00042860=0.16299696s,也就是接近163毫秒。

2.9.png


提醒

此时在调试模式里修改代码是没有作用的,需要我们先按“Start/Stop Debug Session”回到代码编写模式,这时修改完代码再编译无误后按照步骤2~步骤6继续观察。

记住!修改代码要编译!

记住!修改代码要编译!

记住!修改代码要编译!


本文固定URL:https://www.dotcpp.com/course/181

上一课:闪烁的LED 下一课:延时1秒
第一章 单片机入门
第二章 LED
第三章 蜂鸣器
第四章 数码管
第五章 独立按键
第六章 多文件编程
第七章 外部中断
第八章 定时器
第九章 舵机与超声波模块
第十章 串口通信
第十一章 1602液晶屏
第十二章 IIC通信
第十三章 红外遥控与温度传感器
第十四章 AD与DA
第十五章 混合例程
第十六章 完结
Dotcpp在线编译      (登录可减少运行等待时间)