请大神帮我解决一下入门级别的问题 小白急等 标题长。。。
时间:10-02
整理:3721RD
点击:
#include <reg52.h>
unsinged int i,j;
void delay();
void main()
{
while(1)
{
P1=0xfe;
delay();
P1=0x80;
delay();
}
}
void delay()
{
for(i=500;i<0;i--)
for(j=500;j<0;j--);
}
这个程序我用学习板烧写后 为什么灯只运行
P1=0xfe;而且停在这里不动了,
后面的P1=0x80;不运行了
unsinged int i,j;
void delay();
void main()
{
while(1)
{
P1=0xfe;
delay();
P1=0x80;
delay();
}
}
void delay()
{
for(i=500;i<0;i--)
for(j=500;j<0;j--);
}
这个程序我用学习板烧写后 为什么灯只运行
P1=0xfe;而且停在这里不动了,
后面的P1=0x80;不运行了
没人可以搞定吗
因为你把i,j定义为unsigned int,所以永远也不会满足i < 0,j < 0
嗯,楼上正解!
而且不是停在0xfe不动了,而是0xfe和0x80中间不进入延时程序,没有延时
而每一条语句执行时间是微秒级别的,肉眼根本分辨不出来
所以你看着好像是只执行0xfe
这种问题初学者都可能犯的哈
是的,等于0就可以了
unsigned 型大于0。来自: Android客户端