bzhou830 发表于 2012-2-4 15:44:04

TFT320*240显图颜色不太对

闲着没事做,试着用前段时间买的TFT 320X240彩屏液晶显示图片,由于彩色图片比较的大,所以只显示了屏幕的1/4区域,搞了一上午,图是出来了,可是颜色严重的不行:
这是网上随便下载的图像:
http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_716014YRZCTV.jpg
(原文件名:5498367469.jpg)


显示的效果却是这个样子的:
http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_716015LI0S8B.jpg
(原文件名:2.jpg)


后来试着将取模的RGB改变顺序,因为车体本来是红色的(如果我不是色盲的话,嘿嘿),但是实际的效果是黄色的,


改来改去效果没有什么改变……
初次搞这个东东,很多的不解,哪位大神搞过这个的,求解……
下面的时整个的硬件接线,用的是单片机MSP430F149,液晶使用的是8位的操作。

http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_716016HTRU0Q.jpg
(原文件名:clip_image002.jpg)

问题解决了,昨天的写数据先写的是从低位开始的,改成高位在前就没有问题了,效果杠杠的:
http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_716127KUTVYC.JPG
(原文件名:新图像.JPG)

这个是原来写数据的方式:
for(y=0;y<160;y++)
    for(x=0;x<120;x++)
            {
                Write_Data(Img,Img);//Img[]是定义的一个数组   const unsigned char Img;(里面的码太多就不传了)
            }

现在的写数据的方式:
unsigned char a,b;
const unsigned char *temp = Img;
for(y=0;y<160;y++)
    for(x=0;x<120;x++)
            {
                a = *temp ++;
                b = *temp ++;
                Write_Data(b,a);
            }
实验证明这样是还很不错的,嘿嘿,只用了8个IO传数据额,速度还行.

newbier 发表于 2012-2-4 16:53:19

1.硬件问题,显示各种单色对不对?
2.软件问题

bzhou830 发表于 2012-2-4 19:47:49

回复【1楼】newbier
-----------------------------------------------------------------------

显示单色还是灰常的正常的,就是彩色的时候变色的厉害
页: [1]
查看完整版本: TFT320*240显图颜色不太对