野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12120|回复: 5

ILI9341 LCD_RD_data 读像素 看不懂

[复制链接]
发表于 2016-1-21 21:34:56 | 显示全部楼层 |阅读模式
SMC液晶显示的例程中,读像素点的函数到底是怎么实现的呢?
uint16_t LCD_RD_data(void)   
{   
    uint16_t R=0, G=0, B=0 ;

    R = *(__IO uint16_t *)Bank1_LCD_D;       /*FIRST READ OUT DUMMY DATA*/
    R = *(__IO uint16_t *)Bank1_LCD_D;      /*READ OUT RED DATA  */
    B = *(__IO uint16_t *)Bank1_LCD_D;      /*READ OUT BLACK DATA*/
    G = *(__IO uint16_t *)Bank1_LCD_D;      /*READ OUT GREEN DATA*/
   
    return (((R>>11)<<11) | ((G>>10)<<5) | (B>>11));
}
资料手册上没找到,这个函数返回的是每个数据右移11位或10位,说明是将数据有效值放到了最高位,请问哪位大神详细解释下,万分感谢!!!
回复

使用道具 举报

发表于 2016-1-22 08:31:29 | 显示全部楼层
读取到的数据是16位的
我们需要的是RGB565格式,比如R分量,先右移11位得到5位有效数据,然后再吧这5位数据左移11位作为RGB565中R分量
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-22 09:35:27 | 显示全部楼层
亽亼 发表于 2016-1-22 08:31
读取到的数据是16位的
我们需要的是RGB565格式,比如R分量,先右移11位得到5位有效数据,然后再吧这5位数 ...

我知道收到的数据是16位的,需要的RGB格式,比如R分量,先右移11位得到5位有效数据,然后再吧这5位数据左移11位作为RGB565中R分量,但是我看数据手册上,,哪里显示是16位数据返回来,返回来的数据格式是您说的那样呢?好困扰
回复 支持 反对

使用道具 举报

发表于 2016-1-22 10:02:25 | 显示全部楼层
ILI9341技术手册,116页
QQ截图20160122100121.png
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2016-1-22 10:15:42 | 显示全部楼层
亽亼 发表于 2016-1-22 10:02
ILI9341技术手册,116页

这个返回的是D【17:0】是18位的数据??????没有说明哪位为有效数据呢????

回复 支持 反对

使用道具 举报

发表于 2016-1-22 10:39:32 | 显示全部楼层
液晶可以使用18bit数据,我们一般设置为16bit(自己看驱动代码)
回复 支持 0 反对 1

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 14:48 , Processed in 0.032118 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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