您的位置:首页 > 其它

s3c2440 LCD 配置的一点答疑--极性为什么有的不反转,有的不反转,还有字节交换使能这些是什么意思?都是LCDCON5寄存器的

2011-01-09 17:09 633 查看


对于RGB16来说,一个像素占2个字节,这样2个像素组合成1个字.

假如LCD面板上的某一行像素排列是P1 P2 P3 P4 P5 P6 P7 P8.

且我们定义unsigned int LCD_BUFFER[8]来存放像素数据.

那么LCD_BUFFER[0],LCD_BUFFER[1].....LCD_BUFFER[7]就是对应这8个点的数据.

这样LCD控制器拿到地址LCD_BUFFER后会以LCD_BUFFER为起始地址取出一个字即4个字节去刷屏幕,这时候它犯难了,

1)到底是这个字的高16位还是低16位是第一个像素???

所以这时候我们得设置HWSWP = 0,即不进行半字交换,这样高16位就表示是第一个像素的,低16位是第二个像素的.这样做的原因是我们的程序是用大端格式编译的,比如0x12345678,在大端格式下就是

B31 B24 B23 B16 B15 B8 B7 B0

0x12 0x34 0x56 0x78

2)当LCD控制器知道高16位是第一个像素的时候,又犯难了

这16位数据,高8bit和低8bit是怎么安排的,

RGB16,我们采用的是 565的方式,红色有5bit,绿色6bit,蓝色5bit.

B15 B11 B10 B5 B4 B0

R G B

也就是没有字节交换,所以要设置BSWP = 0,即字节交换为0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐