读书人

LCD 裸奔程序显示不完全求

发布时间: 2012-04-13 13:50:24 作者: rapoo

LCD 裸奔程序显示不完全,求高手指点
自己仿东山大哥的LCD程序,做了一个LCD显示图片的程序
主要显示程序如下
void Test_Lcd_Tft_16Bit_240320(void)
{
printf("[TFT 64K COLOR(16bpp) LCD TEST]\n");
Paint_Bmp(flower);
getc();
Paint_Bmp(Bliss);
getc();
Paint_Bmp(paint);
getc();
}
其他初始化之类在别的文件
我的问题是程序启动后,第一幅图片没有显示,LCD为白色,第二幅图片只有一部分显示,LCD下边为白色,第三幅图片显示完全
之后我把第一个Paint_Bmp的图片换成第三幅,结果程序显示为第一三幅图片显示完全正确,第二幅症状和上次一样
三幅图片的数据放在同一个.h文件中,顺序如下
unsigned char flower[] = {...};
unsigned char Bliss[] = {...};
unsigned char paint[] = {...};
这三个图片的数据本身没有问题,另外我通过反汇编发现三个图片数组在data段中存放位置与上面的定义顺序相反
硬件为tq2440
请问高手这个现象具体症状在哪,在下不甚感激

[解决办法]
不懂,挺神奇的。。
是不是你那个图片的数组越界了?
有直接能运行的demo吗?
你那个数组是不是用那个什么工具生成的啊?
[解决办法]
我觉得问题应该出在数组上面,因为换一下数组就可以了。你可以再提起多一些图片数组看会不会都有问题。
[解决办法]

探讨
回楼上
我也觉得问题出在数组上面,但就是不知道到底数组数据到底在哪出了问题

[解决办法]
一般都是装bmp,但是有时候你的图片太大也有可能造成framebuffer的溢出~~~
[解决办法]
是图片数据错了吧

是用Image2Lcd吗?
生成时把源图分辨率设得240320再转,不然可能会出现lz所说的问题啊
[解决办法]
看看你图片格式吧!就是那个565 还是什么的?我怎么感觉是你LCD有问题!
[解决办法]
正在学习裸奔的顶一个!!!!
不过我们公司用bmp直接做logo的时候,用程序读取出来,然后再显示。。。
发现有时候图片的大小会影响是否正常显示,好像我们公司的那个图片不能超过126kb这个大小

我觉得这种情况应该跟图片的格式有关,特别地是通过ps软件将其他格式的转成bmp,然后再用程序去转成数组。。造成的问题吧
不知道是否这样。。。仅猜测而已

mark一个,以后学习。!!
[解决办法]
神奇.................
[解决办法]
如果你改成显示3显示2显示1的顺序会出现什么现象,用来排除数组的!
是不是开始就显示太快了!

读书人网 >单片机

热点推荐