软件延时的测试在DEBUG模式下面测试的,需要调用出stopwatch 来观看时间。
stopwatch的调用方法:Window--debugging--stopwatch。
![](data/attach/1904/kxgr1aohijk6nysjk4r0lu1bxmrlrycw.jpg)
注意:在进入DEBUG之前,需要设置晶振,是debug的晶振(Fcyc)和所使用的板子的晶振一至
![](data/attach/1904/7j3mk8mdceds9lijlrmy71wus1c68az7.jpg)
具体的使用方法:
例如
void delay(uint x )//延时1MS
{
uint a,b;
for ( a = x;a > 0;a--)
for (b = 724; b > 0;b--);//由于使用的是8M晶振,所以此处的值比较大,如果是4M的话,值减一半。
}
void main ()
{
uchar a;
while (1)
{
for (a = 8;a > 0;a--)/在此处打一个断点,断点1
delay(1);//在此处打一个断点,断点2
}
}
![](data/attach/1904/sxz9cltg4qvdg96mdgm74mrjl3x3zzbk.jpg)
1.程序进入到DEBUG模式,一进去会走到断点1,停止下来,
![](data/attach/1904/2cgc46bjvitvqi425dccw5or1amkqaa1.jpg)
2. 单步执行(step into(F7)),走到断点2
![](data/attach/1904/njx4pdgm81i7jftpb6ogdw9hb6j0p9yj.jpg)
3.在stopwatch中清除前两步所产生的时间
![](data/attach/1904/57rr6mf3guk8een81g57d2huqitb2z6r.jpg)
4.然后执行step over 软件延时的时间出来了!