对单片机还不太了解,想知道下面的while语句是什么意思
#include<reg52.h>
sbit D2=P1^2;
unsigned int a;
void main()
{
while(1)
{
a=50000;
D2=0;
while(a--);
a=50000;
D2=1;
while(a--);
}
}
对单片机还不太了解,想知道下面的while语句是什么意思
#include<reg52.h>
sbit D2=P1^2;
unsigned int a;
void main()
{
while(1)
{
a=50000;
D2=0;
while(a--);
a=50000;
D2=1;
while(a--);
}
}
while(逻辑值)
{
一些动作
}
小括号里就两种情况假0,真1(或者非0)
当小括号里的表达式,注意是表达式,最终的结果为真时就一直执行大括号里的 ”一些动作"
先来第一个while
void main()
{
while(1)
{
while(1), 小括号里是个常数1,所以这个表达式的结果就是1,所以它一直为真,它这一层的大括号里的内容就会一直执行
然后看第二个
a=50000;
D2=0;
while(a--);
while(a--); 你可以把省略掉的大括号加上
while(a--)
{
;//空操作
}
每执行一次大括号里的内容就a--一次,一直这样直到a--到0就结束大括号里的循环,从而达到延时目的