找回密码
 注册
搜索
查看: 4247|回复: 26

[讨论] 有的LCD为什么会有18位数据线?

[复制链接]
发表于 2010-9-6 17:04:33 | 显示全部楼层 |阅读模式
有的LCD为什么会有18位数据线?


为啥不用16位?更容易处理啊。

知道的TX,讲讲吧
 楼主| 发表于 2010-9-9 09:13:37 | 显示全部楼层
我还有个问题



既然是驱动LCD,那么些的命令和数据都应该是直接给LCD驱动芯片的REG,但是程序里怎么数据和命令都发给BB芯片的LCD控制寄存器呢?

                #define MDrv_LCD_CtrlWrite(_data)                  {                        *(volatile kal_uint8 *) MAIN_LCD_CMD_ADDR= ((_data & 0xFF00)>>8);                        *(volatile kal_uint8 *) MAIN_LCD_CMD_ADDR= (_data & 0xFF);                        MDrv_LCD_delay();                }
                #define MDrv_LCD_DataWrite(_data)                  {                        *(volatile kal_uint8 *)MAIN_LCD_DATA_ADDR = ((_data & 0xFF00)>>8);                        *(volatile kal_uint8 *)MAIN_LCD_DATA_ADDR = (_data & 0xFF);                        MDrv_LCD_delay();                }
点评回复

使用道具 举报

发表于 2010-9-8 15:00:27 | 显示全部楼层
也和平台有关,像25,用16位和18位是一样的效果
点评回复

使用道具 举报

发表于 2010-9-7 19:30:00 | 显示全部楼层
以下是引用chenzhonghua在2010-9-7 15:42:29的发言:
一般16位显示6W5色,18位显示26W色
但也不是绝对的,至少18位刷数据会快点(RGB666)
[em14]

应该是这个
点评回复

使用道具 举报

发表于 2010-9-7 15:42:29 | 显示全部楼层
一般16位显示6W5色,18位显示26W色
但也不是绝对的,至少18位刷数据会快点(RGB666)
[em14]
点评回复

使用道具 举报

发表于 2010-9-7 10:22:36 | 显示全部楼层
[em11][em11][em11]哎!!!!
点评回复

使用道具 举报

 楼主| 发表于 2010-9-7 07:59:30 | 显示全部楼层
以下是引用ffhh在2010-9-6 23:16:01的发言:
18bit 不刚好RGB666嘛,色彩比16bit RGB565要鲜艳

你这么一讲,我似乎明白了,但是还有个问题,我看了下程序,基本都是类似
                MDrv_LCD_CtrlWrite(0xE1);
                MDrv_LCD_DataWrite (0x07);
                MDrv_LCD_DataWrite (0x23);
                MDrv_LCD_DataWrite (0x24);
                MDrv_LCD_DataWrite (0x06);
                MDrv_LCD_DataWrite (0x12);

好像都是16位的数据

那么16位数据用16位传和18位数据线传,原始数据位数没变(16位),仅仅是移位下,匹配给18位线,就能增强色彩鲜艳度,清晰度?不太可能吧。



[此贴子已经被作者于2010-9-7 11:12:42编辑过]
点评回复

使用道具 举报

发表于 2010-9-6 23:16:01 | 显示全部楼层
18bit 不刚好RGB666嘛,色彩比16bit RGB565要鲜艳
点评回复

使用道具 举报

发表于 2010-9-6 18:54:10 | 显示全部楼层
搞不懂这个
点评回复

使用道具 举报

发表于 2010-9-14 01:05:46 | 显示全部楼层
以下是引用hztianxie在2010-9-9 9:13:37的发言:
我还有个问题



既然是驱动LCD,那么些的命令和数据都应该是直接给LCD驱动芯片的REG,但是程序里怎么数据和命令都发给BB芯片的LCD控制寄存器呢?

                #define MDrv_LCD_CtrlWrite(_data)                                {                        *(volatile kal_uint8 *) MAIN_LCD_CMD_ADDR= ((_data & 0xFF00)>>8);                        *(volatile kal_uint8 *) MAIN_LCD_CMD_ADDR= (_data & 0xFF);                        MDrv_LCD_delay();                }
                #define MDrv_LCD_DataWrite(_data)                                {                        *(volatile kal_uint8 *)MAIN_LCD_DATA_ADDR = ((_data & 0xFF00)>>8);                        *(volatile kal_uint8 *)MAIN_LCD_DATA_ADDR = (_data & 0xFF);                        MDrv_LCD_delay();                }

#define LCD_CtrlWrite_ILI9325DS(_data)                 {                           SET_LCD_CMD_PARAMETER(0,LCD_CMD,((_data & 0xFF00)>>7));                           SET_LCD_CMD_PARAMETER(1,LCD_CMD,((_data & 0xFF)<<1));                        LCD_SEND_DMA_CMD(2);                }
                #define LCD_DataWrite_ILI9325DS(_data)                 {                           SET_LCD_CMD_PARAMETER(0,LCD_DATA,((_data & 0xFF00)>>7));                           SET_LCD_CMD_PARAMETER(1,LCD_DATA,((_data & 0xFF)<<1));                        LCD_SEND_DMA_CMD(2);这样的是DMA模式
你上面的是经过buffer模式
点评回复

使用道具 举报

发表于 2010-9-14 00:53:09 | 显示全部楼层
以下是引用hztianxie在2010-9-7 7:59:30的发言:

你这么一讲,我似乎明白了,但是还有个问题,我看了下程序,基本都是类似
                MDrv_LCD_CtrlWrite(0xE1);
                MDrv_LCD_DataWrite (0x07);
                MDrv_LCD_DataWrite (0x23);
                MDrv_LCD_DataWrite (0x24);
                MDrv_LCD_DataWrite (0x06);
                MDrv_LCD_DataWrite (0x12);

好像都是16位的数据

那么16位数据用16位传和18位数据线传,原始数据位数没变(16位),仅仅是移位下,匹配给18位线,就能增强色彩鲜艳度,清晰度?不太可能吧。

如果数据线是16位的,传进去的移位后成为18位也是假的18位,驱动IC会自动补零,达到data的18位
如果数据线是18位的,传进去就是18位,色彩就会鲜艳一些
点评回复

使用道具 举报

发表于 2010-9-14 00:50:42 | 显示全部楼层
以下是引用kideagle在2010-9-7 19:30:00的发言:
]
应该是这个

16为的565是65K色2^5*2^6*2^5
18位的666是262K2^6*2^6*2^6
点评回复

使用道具 举报

发表于 2010-9-27 11:59:02 | 显示全部楼层
云里雾里,新手学习中....
点评回复

使用道具 举报

发表于 2010-9-21 03:59:08 | 显示全部楼层
又学习了
点评回复

使用道具 举报

发表于 2010-11-12 16:06:53 | 显示全部楼层
不太明白呀
点评回复

使用道具 举报

发表于 2010-11-25 10:48:10 | 显示全部楼层
学习,学习
点评回复

使用道具 举报

发表于 2011-4-6 17:16:30 | 显示全部楼层
受教了~~~~~~
点评回复

使用道具 举报

发表于 2011-4-29 11:20:31 | 显示全部楼层
不懂得,等详细解释一下吗[em10]
点评回复

使用道具 举报

发表于 2011-8-19 15:55:00 | 显示全部楼层
以下是引用hztianxie在2010-9-6 17:04:33的发言:

有的LCD为什么会有18位数据线?


为啥不用16位?更容易处理啊。

知道的TX,讲讲吧

学习了
点评回复

使用道具 举报

发表于 2011-8-15 15:49:53 | 显示全部楼层
不错的~~
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-24 22:08 , Processed in 0.058537 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表