关于TFT彩屏

2019-07-16 03:51发布

用彩屏显示图片,图片大小取模24*32时,
字模为const unsigned char code gImage_picture[1680]={...};
显示函数为
void picture_play(uint16 xStart,uint16 xEnd,uint16 yStart,uint16 yEnd)
{
        uint16 m;
        cs=0;
        TFT_SetRamAddr(xStart,xEnd-1,yStart,yEnd-1);
        rs=1;
        for(m=0;m<(1680/2);m++)
        {
                WriteDat(gImage_picture[m*2+1]);
                WriteDat(gImage_picture[m*2]);
        }
        cs=1;
}
主函数中
picture_play(24,48,24,60);
能正常显示图片。

而改成36*48时,
字模为const unsigned char code gImage_picture[3072] ={...};
显示函数
void picture_play(uint16 xStart,uint16 xEnd,uint16 yStart,uint16 yEnd)
{
        uint16 m;
        cs=0;
        TFT_SetRamAddr(xStart,xEnd-1,yStart,yEnd-1);
        rs=1;
        for(m=0;m<(3072/2);m++)
        {
                WriteDat(gImage_picture[m*2+1]);
                WriteDat(gImage_picture[m*2]);
        }
        cs=1;
}
主函数中同样扫描
picture_play(24,60,24,72);
显示的图片就变成乱码。
为什么会这样,求指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。