控制器是ILI9325,初始化没有问题,已经可以显示取模后的图片。
我的显示函数是照网上的改了一下:
/****************************************************************************
* 名 称:void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic)
* 功 能:在指定座标范围显示一副图片
* 入口参数:StartX 行起始座标
* StartY 列起始座标
* EndX 行结束座标
* EndY 列结束座标
pic 图片头指针
* 出口参数:无
* 说 明:图片取模格式为水平扫描,16位颜色模式
* 调用方法:ili9320_DrawPicture(0,0,100,100,(u16*)demo);
****************************************************************************/
void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic)
{
u16 i;
ili9320_SetWindows(StartX,StartY,EndX,EndY);
ili9320_SetCursor(StartX,StartY);
Clr_Cs;
ili9320_WriteIndex(0x0022);
Set_Rs;
for (i=0;i<((EndX-StartX+1)*(EndY-StartY+1));i++)
{
ili9320_WriteData(*pic++);
Clr_nWr;Set_nWr;
}
Set_Cs;
}
问题是这样:我这样调用: ili9320_DrawPicture(0,0,132,199,(u16*)Pic);可以
但是当u16 StartX和u16 StartY不相等时,显示的图片就跟错位的拼图一样。
ili9320_DrawPicture(0,50,132,249,(u16*)Pic);这样就不行了,不知道为什么
请高手帮忙解答~~~ |