中级会员
 
- 积分
- 304
- 金钱
- 304
- 注册时间
- 2015-10-16
- 在线时间
- 49 小时
|
5金钱
我最近在自己的板子上做一个东西,在sd卡中的图片能直接显示在液晶上,我先是用图片解码软件解出来放到flash里面,然后显示成功了。我现在想直接从sd卡读取图片然后解码显示,但是不知道怎么移植解码的程序。
void DISPLAY_image(u16 x,u16 y,u16 width,u16 height,u8 picnum)
{
u16 i;
u8 *tempbuf;
u32 address;
tempbuf=mymalloc(SRAMIN,4096); //·???4096??×???????
LCD_WR_REG(0x2A);
if(x>255)
LCD_WR_DATA8(x>>8);
else
LCD_WR_DATA8(0x00);
LCD_WR_DATA8(x);
if((x+width-1)>255)
LCD_WR_DATA8((x+width-1)>>8);
else
LCD_WR_DATA8(0x00);
LCD_WR_DATA8(x+width-1);
LCD_WR_REG(0x2B);
LCD_WR_DATA8(0x00);
LCD_WR_DATA8(y);
LCD_WR_DATA8(0x00);
LCD_WR_DATA8(y+height-1);
LCD_WR_REG(0x2C);
address=picnum*PICADDR;
while(1)
{
if(((width*height*2)-(address-picnum*PICADDR))>=4096)
{
SPI_Flash_Read(tempbuf,address,4096);
for(i=0;i<4096;i++)
{
LCD_WR_DATA8(tempbuf);
}
address=address+4096;
}
else
{
SPI_Flash_Read(tempbuf,address,((width*height*2)-(address-picnum*PICADDR)));
for(i=0;i<((width*height*2)-(address-picnum*PICADDR));i++)
{
LCD_WR_DATA8(tempbuf);
}
myfree(SRAMIN,tempbuf); //??·?????
break;
}
}
myfree(SRAMIN,tempbuf); //??·?????
}
这是从flash里面读取然后去显示图片的。液晶320*240。
!!!有没有大神帮忙啊。
|
|