天嵌 ARM开发社区

 找回密码
 注册
查看: 1727|回复: 6

无OS,LCD 24位色问题

[复制链接]
sunwayde 发表于 2010-3-22 19:47:30 | 显示全部楼层 |阅读模式
能显示,但根据绘画工具里画板颜色的数值写入时,LCD显示的颜色不正确
LCDCON1 的设置
CLKVAL = 3      MVAL = 0   PNRMODE = 3 (TFT)
BPPMODE = 24BPP
LCDCON2 就将BPP24BL[12]位设为LSB (MSB也试过了)
        rLCDSADDR2 = M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*4))>>1 );
        rLCDSADDR3 = (((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT*2/1);
 楼主| sunwayde 发表于 2010-3-22 19:50:54 | 显示全部楼层
还有LCD_BUFFER 为unsigned int
 楼主| sunwayde 发表于 2010-3-22 20:54:23 | 显示全部楼层
算是解决了,
红绿蓝的值的位不是在[23:0].
居然是乱的,[7:0]为红色,,,[15:8]为空,,,[16:23]为蓝,,,[24:32]为绿
,不是知是不我哪里设错了.
亚瑟王 发表于 2010-3-23 11:41:11 | 显示全部楼层
如果是24位色,就肯定是RGB-》[23:0],而在常规字节中只有8位、16位和32位三种,24位色要用32位,然后丢弃其中的8位,按照你说的,应该是你搞错了32位中的高位和低位导致的。
 楼主| sunwayde 发表于 2010-3-23 14:00:57 | 显示全部楼层
我也知道有地方搞错了,但不清楚哪里错了.
而且错的有点奇怪,丢弃的位不是在最高或者最低位,是在中间
亚瑟王 发表于 2010-3-26 12:50:42 | 显示全部楼层
不是中间位,按照RGB的顺序来讲,和你的数据的排序来说,应该丢弃8到15的位。
CMOS 发表于 2016-3-28 22:43:47 | 显示全部楼层
楼主我碰到了你一模一样的问题,如果选择LSB则bit[15:8]为空,如果选择MSB则bit[24:16]为空,而且RGB的不是按顺序的,请问你解决了没?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-16 03:26 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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