野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11153|回复: 4

ILI9341 LCD_RD_data 读像素 看不懂

[复制链接]
发表于 2015-8-18 16:06:24 | 显示全部楼层 |阅读模式
请教大神

FSMC液晶显示的例程中,读像素点的函数到底是怎么实现的呢?
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));
}
9341 datasheet中 2eh命令, 第二个获得的参数是D1[17:0]不应该就是存储着RBG565的数据吗?


123.JPG
回复

使用道具 举报

发表于 2015-8-18 16:42:19 | 显示全部楼层
D1只是保存该像素点的R分量
同样的,接下来的D2,D3保存该像素点的B和G分量,为什么是这样呢,这是由ili9341芯片决定的,本身ili9341芯片设计就是这样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-18 16:50:02 | 显示全部楼层
亽亼 发表于 2015-8-18 16:42
D1只是保存该像素点的R分量
同样的,接下来的D2,D3保存该像素点的B和G分量,为什么是这样呢,这是由ili93 ...

请问大神 哪里能找到相关说明呢?
回复 支持 反对

使用道具 举报

发表于 2015-8-19 09:59:06 | 显示全部楼层
seu 发表于 2015-8-18 16:50
请问大神 哪里能找到相关说明呢?

就是这个文档,它前面有时序图,就是红绿蓝这样的顺序输出的。
你上面那个图也能看出来,D17-8位是打x的,表示没有的。每次输出0-7位的数据
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-19 10:24:14 | 显示全部楼层
flyleaf 发表于 2015-8-19 09:59
就是这个文档,它前面有时序图,就是红绿蓝这样的顺序输出的。
你上面那个图也能看出来,D17-8位是打x的 ...

谢谢flyleaf,
还是有些不明白, 我之前截得那张图中2nd parameter后就没有说 D17-8 是XX了;
datasheet对读memory时序没搞懂哎,16bit存储RGB不应该直接就读出来了么,Write memory时候直接就写进去了呀

121.JPG
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 11:05 , Processed in 0.029906 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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