- UID
- 176135
- 性别
- 男
|
各位有遇到过这样的问题吗?
测LED的程序我已写成功,现在写一个测试LCD的程序能正常显示R,G,B,但不能显示图片,以下是我的一部份程序: #include"stdlib.h" .... .... #define pfbbuffer 0x33800000 //显示缓冲区的大小
unsigned char PHOTO[230400]={.....DATA.......}; //定义一组图片数据
void int_lcd() //lcd 初始化 { ........ }
void displayphoto() { unsigned char aa,bb,cc; int ii,jj; U32 *P; U32 EE=0; U32 BB; int_lcd(); lcd初始化
P=(U32 *)pfbbuffer; for(ii=0;ii<240;ii++) { for(jj=0;jj<320;jj++) { aa=PHOTO[EE++]; bb=PHOTO[EE++]; cc=PHOTO[EE++]; BB=BB|aa; BB=(BB<<8)|bb; BB=(BB<<8)|cc; BB=BB<<8; *(P++)=BB; } } }
int main() { int_lcd(); while(1) { diplayphoto(); } }
图片调出来是乱码(图片数据可以确定是对的),还有就是unsigned char PHOTO[]={.....DATA.......}; 里的数据也可以调,但只有前317个数可以正常调得出来,后面的数调出来就是乱的了。 我编译出来的(*.bin)是通过JTAG的 FLASH烧写工具来烧进去的(烧写地址是0)。这个问题我百思不得其解,搞了都有两个多星期了,也没有进展啊,请帮忙指点指点啊!谢谢!! |
|