#include <mega16.h>
#include<delay.h>
unsigned char j;
void main(void)
{
PORTB=0xff;
DDRB=0xFF;
while(1)
{
PORTB=0x00;
for(j=7;j>=0;j--)
{
PORTB|=(1<<j);
delay_ms(300);
}
};
}
为什么while(1)里这个for循环只循环一次就停止了呢?
而改成下边的形式就可以无限循环呢:
for(j=7;j>0;j--)
{
PORTB|=(1<<j);
delay_ms(300);
if(j==1)
PORTB.0=1;
}
主要是j>=0和j>0的原因,肯求解释!谢谢 |