|
for(;i!=0;i--)和while(i--)之间有区别吗??
[复制链接]
我今天用软件的方法来延时,延时程序如下:(只看有颜色的部分就可以了)
#include
void delay(int i)
{
int j,k;
for(j=0;j<200;j++)
for(k=0;k<100;k++)
//for(;i!=0;i--);
while(i--);
}
void main(void)
{
while(1)
{
P2 = 0x0;
P3 = 0xff;
P1 = 0xff;
delay(2);
P2 = 0xff;
P3 = 0x0;
P1 = 0x0;
delay(2);
}
}
结果不能正常工作,但是我改为:
#include
void delay(int i)
{
int j,k;
for(j=0;j<200;j++)
for(k=0;k<100;k++)
for(;i!=0;i--);
//while(i--);
}
void main(void)
{
while(1)
{
P2 = 0x0;
P3 = 0xff;
P1 = 0xff;
delay(2);
P2 = 0xff;
P3 = 0x0;
P1 = 0x0;
delay(2);
}
}
这样写就可以了,我编译的软件是keil,
请问:软件延时的:for(k=0;k<100;k++)和while(i--)有区别吗??(在这里)
|
|