初级会员

- 积分
- 122
- 金钱
- 122
- 注册时间
- 2013-3-16
- 在线时间
- 0 小时
|

楼主 |
发表于 2013-4-10 19:32:35
|
显示全部楼层
回复【3楼】冰封嗜魔:
---------------------------------
原子哥,我尝试着将bmp文件转化为bin文件,然后直接读取bin文件里面的内容,但是发现会出现问题,之前的几个块读出来的数据都没有问题,但是后面出现了花屏,我调试跟踪之后发现在读第四个块的时候就会开始出现了数据不对的情况。前面的4个块读出来的数据是正确的。不晓得是为什么,烦请把忙看看,不知道原子哥有没有这样的代码
这是我写的读bin文件的代码
void Lcd_show_bin(unsigned short int x, unsigned short int y,unsigned char *pic_name)
{
int i, j;
int x1 = 0 ,y1 = 0;
unsigned char tmp_name[20];
WORD data;
BYTE * pdata = pColorData;
unsigned int read_num;
sprintf((char*)tmp_name,"0:%s",pic_name);
f_mount(0, &bmpfs[0]);
bmpres = f_open( &bmpfsrc , (char *)tmp_name, FA_OPEN_EXISTING | FA_READ);
if(bmpres == FR_OK)
{
printf("Open file success\r\n");
}
else
{
printf("file open fail!\r\n");
return;
}
for(j=0;j<300;j++) //300表示一幅图片含有300x512字节的信息
{
f_read(&bmpfsrc,pdata,512,&read_num);
for(i=0;i<256;i++) //然后写到液晶屏,可以显示256个像素,每个像素16位即2个字节
{
data = LD_WORD(pdata);
LCD_DispOnePixel(x1,y1,data);
pdata = pdata + 2;
x1++;
if(x1==240) //检测是否写到屏的边缘 240x320
{
y1++;
x1=0;
if(y1==320)
y1=0;
}
}
f_lseek (&bmpfsrc,(512*(j+1)));
}
f_close(&bmpfsrc);
} |
|