软件调试查看运行时间

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

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


步骤1

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


步骤2

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


步骤3

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


步骤4

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


步骤5

此时的双横三角指示箭头来到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毫秒。5.png


提醒

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

记住!修改代码要编译!

记住!修改代码要编译!

记住!修改代码要编译!

上一课:闪烁的LED 下一课:延时1秒