微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请大神帮我解决一下入门级别的问题 小白急等 标题长。。。

请大神帮我解决一下入门级别的问题 小白急等 标题长。。。

时间: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;不运行了

没人可以搞定吗

因为你把i,j定义为unsigned int,所以永远也不会满足i < 0,j < 0

嗯,楼上正解!
而且不是停在0xfe不动了,而是0xfe和0x80中间不进入延时程序,没有延时
而每一条语句执行时间是微秒级别的,肉眼根本分辨不出来
所以你看着好像是只执行0xfe
这种问题初学者都可能犯的哈

是的,等于0就可以了

unsigned 型大于0。来自: Android客户端

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top