sd卡读出数据后,如何送入ILI9325的屏进行显示
请教高手:我现在可以从SD卡中读出数据(抄袭的),但是当送入TFT屏显示就不对了,用串口查看数据,没有错误的,相关代码如下:我的QQ:519212866
//图片显示函数,此函数显示一个图片是正常的
uchar tupian[]=
{
0X00,0X34,0X56,
0X00,0X34,0X56,
0X00,0X34,0X56,
0X00,0X34,0X56,
0X00,0X34,0X56,
0X00,0X34,0X56,
0X00,0X34,0X56,
}
void GUI_DisPicture(uchar x, uint y, uchar length, uint high ,const uchar *pic)
{
uint temp=0,tmp=0,num=0;
LCD_setwindow(x,y,x+length-1,y+high-1);
num=length*high*2;
do
{
temp=pic|( picFileSize-offset;
znFAT_Seek_File(pfi,offset);
znFAT_ReadSector(pfi->FileCurSector,znFAT_Buffer);
for(i=pfi->FileCurPos;iBytesPerSector;i++)
{
if(counter>=len)
{
return len;
}
(*pfun)(znFAT_Buffer);
counter++;
pfi->FileCurPos++;
pfi->FileCurOffset++;
}
if(pfi->FileCurSector-(SOC(pfi->FileCurCluster))!=(pArg->SectorsPerClust-1))
{
for(j=pfi->FileCurSector+1;jFileCurCluster))+pArg->SectorsPerClust;j++)
{
znFAT_ReadSector(j,znFAT_Buffer);
pfi->FileCurSector=j;
for(i=0;iBytesPerSector;i++)
{
if(counter>=len)
{
return len;
}
(*pfun)(znFAT_Buffer);
counter++;
pfi->FileCurPos++;
pfi->FileCurOffset++;
}
}
}
temp=(len-counter)/(pArg->BytesPerSector*pArg->SectorsPerClust);
for(k=0;kFileCurCluster=znFAT_GetNextCluster(pfi->FileCurCluster);
for(j=(SOC(pfi->FileCurCluster));jFileCurCluster))+pArg->SectorsPerClust;j++)
{
znFAT_ReadSector(j,znFAT_Buffer);
pfi->FileCurSector=j;
for(i=0;iBytesPerSector;i++)
{
if(counter>=len)
{
return len;
}
(*pfun)(znFAT_Buffer);
counter++;
pfi->FileCurOffset++;
pfi->FileCurPos++;
pfi->FileCurPos%=pArg->BytesPerSector;
}
}
}
pfi->FileCurCluster=znFAT_GetNextCluster(pfi->FileCurCluster);
temp=(SOC(pfi->FileCurCluster))+((len-counter)/pArg->BytesPerSector);
pfi->FileCurSector=(SOC(pfi->FileCurCluster));
for(j=(SOC(pfi->FileCurCluster));jFileCurSector=j;
for(i=0;iBytesPerSector;i++)
{
if(counter>=len)
{
return len;
}
(*pfun)(znFAT_Buffer);
counter++;
pfi->FileCurPos++;
pfi->FileCurPos%=pArg->BytesPerSector;
pfi->FileCurOffset++;
}
}
pfi->FileCurSector=j;
znFAT_ReadSector(pfi->FileCurSector,znFAT_Buffer);
temp=len-counter;
for(i=0;i=len)
{
return len;
}
(*pfun)(znFAT_Buffer);
counter++;
pfi->FileCurPos++;
pfi->FileCurPos%=pArg->BytesPerSector;
pfi->FileCurOffset++;
}
}
else
{
len=0;
}
return len;
}
void main()
{
GUI_DisPicture(0, 0, 240, 320 ,tupian); //比如是这个数组里面的数据时240*320的数据,这个显示是正常的
FAT_Read_FileX(&FileInfo,0,FileInfo.FileSize,disp_sd); //这样调用后,TFT屏上就显示几个点,请问要怎样修改才能够让他把读出的数据(图片)正常的显示出来啊?????????????
}
RE:sd卡读出数据后,如何送入ILI9325的屏进行显示
你先把SD卡读出来的数据放入到数组中,再使用GUI_DisPicture(0, 0, 240, 320 ,tupian);来显示是否正确。RE:sd卡读出数据后,如何送入ILI9325的屏进行显示
从SD卡里面读出的数据,我用串口查看是正确的。如果显示一个320*240的彩色图片,那数据量就很大了,我想直接从SD卡里面读出的数据就送去显示,这个该怎么改啊?????RE:sd卡读出数据后,如何送入ILI9325的屏进行显示
那个高人知道还请速速简答啊!!谢谢RE:sd卡读出数据后,如何送入ILI9325的屏进行显示
直接选择点点显示,每次读取一点,直接就显示出来。RE:sd卡读出数据后,如何送入ILI9325的屏进行显示
你读的是什么格式的图片??一般都是处理最简单的格式BMP,如果你也是读的BMP图片的数据,那么,
在SD卡里直接读出来的图片数据是要经过处理的,不是直接能显示的,
至于怎么处理,那就要看你的BMP图片是几位的位图了,网上查找一下BMP图片的格式资料看看。
回复:sd卡读出数据后,如何送入ILI9325的屏进行显示
stm32读取SD卡 图片是直接读取 图片文件 还是读取图片数据文件啊
页:
[1]