用彩屏显示图片,图片大小取模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);
显示的图片就变成乱码。
为什么会这样,求指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
就是那个数据量错了。没按取模后给出的长宽算。
一周热门 更多>