OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6472|回复: 2

B505型号LCD读取某点颜色,返回值是不是有点小问题?

[复制链接]

13

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2012-11-17
在线时间
18 小时
发表于 2012-12-11 07:13:35 | 显示全部楼层 |阅读模式
原子大哥光盘里面LCD例程里的

 if(DeviceCode==0X4531||DeviceCode==0X8989||DeviceCode==0XB505)return t;//这几种IC直接返回颜色值
 else return LCD_BGR2RGB(t);

也就是说,B505型号LCD,读取某点颜色的时候返回值不需要做转换,也就是说写的时候是RGB,直接读出来的也是RGB。

现在问题来了,我在B505初始化程序里找到一句代码

LCD_WriteReg(0x0003,0x1230);

对应的B505手册上R03寄存器:









由此看出这里设置 BGR=1.

(PS:另0x1230中的2写进去都没用,对应的位都是0,不知道生产商的初始化代码是怎么搞的,很多代码都是这样,对应位为0还要写数据进去,难道手册不完善?)

B505手册上又







因上面BGR=1,即在写RGB数据的时候,被转换成BGR后才写到GRAM里面去。现在要读某点颜色,读出的应该是BGR,应该要转换成RGB才是,为何原子大哥代码里不需要转换?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2012-12-11 08:36:24 | 显示全部楼层
简单问题,自己实验一下就知道了,先写一个点颜色进去再读出来,看是不是一样就明白了。
1-1
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-11 10:51:00 | 显示全部楼层
如1楼所说,实践既得解脱。
手册不一定全对!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 08:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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