TFT 3.2寸彩色液晶图片显示异常
要显示的图片http://cache.amobbs.com/bbs_upload782111/files_46/ourdev_680765Y7813K.gif(原文件名:d533b80a6e4eba0195ca6b42.gif)
在液晶上显示的图片http://cache.amobbs.com/bbs_upload782111/files_46/ourdev_680766BY614E.jpg
(原文件名:20110929(001).jpg)
我自学的液晶不知道为什么会这样,请教高手指点一下,先谢谢了!!!
这是显示代码
void Display240_320(const uint8_t *Pt)
{
uint16_t i,j,temp;
uint32_t m=0;
Move(0,0);
for(i=0;i<320;i++)
{
for(j=0;j<240;j++)
{
temp=Pt<<8;
temp|=Pt;
Write(temp);
}
}
} 一个低级错误:m没赋初始值。
然后检查下显示区域是否设置320x240,以及*Pt指向的图片数据是否正确。 回复【1楼】lxx_sea_sky
-----------------------------------------------------------------------
您好我试试过了 加上那个等于零也是现在这种现象,谢谢您啊! temp=Pt<<8; (const uint8_t *Pt)
Pt是8位的,左移8位不是一直等于0
不知你是几位接口的.注意一下变量的位数. 传个完整的工程吧,问题可能不在这一段代码。 是裸屏窝。。 回复【3楼】dongls 董
-----------------------------------------------------------------------
谢谢!不过不是这个问题,我试过了,还是不行! 只是显示到云的一部分而已。。图片太大了 回复【7楼】kingwaykingway
-----------------------------------------------------------------------
谢谢!您说的有道理,因为我显示小一点的图片是没问题的 比如100*100的就正常,可是这个240*320的就不正常了,不知道为什么,不过这个图片确实是240*320的,您觉得是怎么回事呢?谢谢了啊!嘿嘿 请问下,Pt数组的大小是否大于240*320? 回复【8楼】unnormal 海军
-----------------------------------------------------------------------
要看您屏的像素,一般都要屏的像素跟图片像素相同,才能显示最好的效果 回复【9楼】zhangjunmiao
-----------------------------------------------------------------------
谢谢!数组的大小是240*320*2个八位的数据!然后呢??? 回复【10楼】kingwaykingway
-----------------------------------------------------------------------
谢谢!嗯是的我的屏就是240*320的!嘿嘿...... 麻烦各位看看是不是 我的初始化函数有问题???
SSD_RESET_L;
delay_ms(10);
SSD_RESET_H;
Write_SSD(0x0000,0x0001); delay_ms(10);
Write_SSD(0x0003,0xA8A4); delay_ms(10);
Write_SSD(0x000C,0x0000); delay_ms(10);
Write_SSD(0x000D,0x080C); delay_ms(10);
Write_SSD(0x000E,0x2B00); delay_ms(10);
Write_SSD(0x001E,0x00B0); delay_ms(10);
Write_SSD(0x0001,0x2B3F); delay_ms(10);
Write_SSD(0x0002,0x0600); delay_ms(10);
Write_SSD(0x0010,0x0000); delay_ms(10);
Write_SSD(0x0011,0x6070); delay_ms(10);
Write_SSD(0x0005,0x0000); delay_ms(10);
Write_SSD(0x0006,0x0000); delay_ms(10);
Write_SSD(0x0016,0xEF1C); delay_ms(10);
Write_SSD(0x0017,0x0003); delay_ms(10);
Write_SSD(0x0007,0x0233); delay_ms(10);
Write_SSD(0x000B,0x0000); delay_ms(10);
Write_SSD(0x000F,0x0000); delay_ms(10);
Write_SSD(0x0041,0x0000); delay_ms(10);
Write_SSD(0x0042,0x0000); delay_ms(10);
Write_SSD(0x0048,0x0000); delay_ms(10);
Write_SSD(0x0049,0x013F); delay_ms(10);
Write_SSD(0x004A,0x0000); delay_ms(10);
Write_SSD(0x004B,0x0000); delay_ms(10);
Write_SSD(0x0044,0xEF00); delay_ms(10);
Write_SSD(0x0045,0x0000); delay_ms(10);
Write_SSD(0x0046,0x013F); delay_ms(10);
Write_SSD(0x0030,0x0707); delay_ms(10);
Write_SSD(0x0031,0x0204); delay_ms(10);
Write_SSD(0x0032,0x0204); delay_ms(10);
Write_SSD(0x0033,0x0502); delay_ms(10);
Write_SSD(0x0034,0x0507); delay_ms(10);
Write_SSD(0x0035,0x0204); delay_ms(10);
Write_SSD(0x0036,0x0204); delay_ms(10);
Write_SSD(0x0037,0x0502); delay_ms(10);
Write_SSD(0x003A,0x0302); delay_ms(10);
Write_SSD(0x003B,0x0302); delay_ms(10);
Write_SSD(0x0023,0x0000); delay_ms(10);
Write_SSD(0x0024,0x0000); delay_ms(10);
Write_SSD(0x0025,0x8000); delay_ms(10);
Write_SSD(0x004f,0);
Write_SSD(0x004e,0); 数据读取有问题,不是彩屏的问题,确定你的数据是连续存贮的? 回复【14楼】ksws0482846
-----------------------------------------------------------------------
谢谢!您看看我这个取模方式对吗?
http://cache.amobbs.com/bbs_upload782111/files_46/ourdev_681326ZC6547.jpg
(原文件名:QQ五笔截图未命名.jpg) 谢谢各位问题解决了只要换一个芯片就好了嘿嘿 楼主的问题出在了硬件上面? 楼主你好,请问你的芯片是用哪一颗?
能否把显示图形的的完整代码分享出来?
页:
[1]