嵌入式学习小组
直播中

丁冬芹

7年用户 1268经验值
私信 关注

为什么这个while(cnt>7)的循环不进去呢?

#include

***it ADDR0 = P1^0;
***it ADDR1 = P1^1;
***it ADDR2 = P1^2;
***it ADDR3 = P1^3;
***it ENLED = P1^4;

void main()
{
unsigned int i;
unsigned char cnt = 0;

ADDR0 = 0;
ENLED = 0;
ADDR1 = 1;
ADDR2 = 1;
ADDR3 = 1;

while (1)
{
P0 = ~(0x01 << cnt);
for (i=1; i<30000; i++);
cnt++;
if (cnt > 7)
{
cnt = 0;
while (cnt > 7)
{
P0 = ~(0x80 >> cnt);
for (i=1; i<30000; i++);
cnt++;
}
cnt = 0;
}
}
}
  这个while(cnt>7)的循环怎么不进去啊?
  这是一个流水灯,左边流完,又往右边流

回帖(2)

李玉英

2019-8-16 07:54:44
if (cnt > 7)
{

cnt = 0;
  大于7的时候立马被清零了,当然进入不了
  while (cnt > 7)
{
P0 = ~(0x80 >> cnt);
for (i=1; i<30000; i++);
cnt++;
}
  这个循环了
举报

王博

2019-8-16 08:08:32
1#楼说的对。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分