yjx628 发表于 2018-5-13 21:49:51

请教:流水灯不动

把尘封已久的STK500拿出来玩玩,写个流水灯,咋不动呢?数组随便写的,用的ATMEL STUDIO 7,请高人指点一二呀,谢谢啦
#include <avr/io.h>

#define uchar unsigned char
uchar table[]={0xfe,0x23,0x43,0xfb,0xeb,0x88,0x90,0x22};
void delay(void)
{
        uchar a;
        for(a=0;a<1000000;a++);
       
}


int main(void)
{
        uchar i;
   DDRB=0xff;
   PORTB=0xff;

   

    while (1)
    {
                for (i=0;i<8;i++)
                {
                        PORTB=table;
                        delay();
                }
               
    }
        return 1;
}

fzkqi 发表于 2018-5-13 21:54:18

a;         for(a=0;a<;a++);

cpholr1 发表于 2018-5-13 21:58:43

一眼看到。
溢出了 同学。

黑夜之狼 发表于 2018-5-13 22:02:47

unsigned char的范围是0~255好吧

yjx628 发表于 2018-5-13 22:31:29

{:cry:}谢谢楼上几位指点,好丢人呀,都忘光了

gallle 发表于 2018-5-14 07:52:40

楼主是上位机编多了,忘记了变量范围了

EE_Duan 发表于 2018-5-14 08:45:21

for(a=0;a<1000000;a++);

wshtyr 发表于 2018-5-14 09:02:17

补充一点。。LZ如果用的是WINAVR的话,默认的Makefile是开优化的。。所以延时那里最好加上volatile。
页: [1]
查看完整版本: 请教:流水灯不动