这两种做法有什么不同呢?

2019-03-24 20:02发布

大家帮看看,显示一幅图片,第二种有问题,问题出在哪里呢?
void LCD_draw_map(void)
{
    unsigned char i,n;
    LCD_set_XY(0,0);
    for (n=0;n<6;n++)
    {               
        for(i=0;i<84; i++)
            {
            LCD_write_byte(bmp[i+n*84],1);                       
            asm("CLRWDT");
        }               
    }
}

void LCD_draw_map(void)
{
    unsigned char i,n,aa;
    LCD_set_XY(0,0);
    for (n=0;n<6;n++)
    {               
        for(i=0;i<84; i++)
            {
            LCD_write_byte(bmp[aa++],1);
            asm("CLRWDT");
        }               
    }
}

[ 本帖最后由 academic 于 2011-4-10 21:23 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
scbzlijun
2019-03-25 07:22
用unsigned char aa,这个定义aa会溢出吧,当aa++到255后,aa就会又从0开始加起!第三次循环就会溢出,你试试用unsiged int aa来定义aa!

一周热门 更多>