菜鸟求救为什么只亮一个灯不流动啊?
#include<intrins.h>
#define GPIO_LED P2
void Delay10ms(unsigned int);
void main(void)
{
unsigned char n ;
GPIO_LED=0xfe;
while(1)
{
for(n=0;n>7;n++)
{
GPIO_LED=_crol_(GPIO_LED,1);
Delay10ms(50);
}
for(n=0;n>7;n++)
{
GPIO_LED=_cror_(GPIO_LED,1);
Delay10ms(50);
}
}
}
void Delay10ms(unsigned int c)
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
程序编译没问题。就是只亮一个灯不动!
好像是你的GPIO_LED每次for都没有修改保存,只是做了一次移位,一直是0xfe的
for(n=0;n>7;n++)
改为 for(n=0;n<8;n++) 试试看
while(1)
{
for(n=0;n>7;n++)//你这里的for语句表达式错,n=0.n>7假所以不会执行for里面的语句应该是for(n=0;n<7;n++)
{
GPIO_LED=_crol_(GPIO_LED,1);
Delay10ms(50);
}
for(n=0;n>7;n++)//你这里的for语句表达式错,n=0.n>7假所以不会执行for里面的语句。应该是for(n=0;n<7;n++)
{
GPIO_LED=_cror_(GPIO_LED,1);
Delay10ms(50);
}
}
}
while(1)
{
for(n=0;n>7;n++)//你这里的for语句表达式错,n=0.n>7假所以不会执行for里面的语句应该是for(n=0;n<7;n++)
{
GPIO_LED=_crol_(GPIO_LED,1);
Delay10ms(50);
}
for(n=0;n>7;n++)//你这里的for语句表达式错,n=0.n>7假所以不会执行for里面的语句。应该是for(n=0;n<7;n++)
{
GPIO_LED=_cror_(GPIO_LED,1);
Delay10ms(50);
}
}
}
谢谢各位大侠,果然是for语句的问题!
