野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19122|回复: 7

LCD显示的函数

[复制链接]
发表于 2014-8-5 13:57:22 | 显示全部楼层 |阅读模式
本帖最后由 奔跑的蜗牛 于 2014-8-5 19:41 编辑

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));
}

uint16_t LCD_GetPoint(uint16_t x , uint16_t y)
{
        uint16_t temp;

        LCD_SetCursor(x, y);
        LCD_ILI9341_CMD(0x2e);         /* 读数据 */
        temp=LCD_RD_data();
        return (temp);
}
发送0x2e指令是用来做什么的?发送完了然后接收4个数据?这四个数据是什么意思呢?手册上好像说会连续发送很多数据,其余的数据又是什么作用的?
捕2.JPG
回复

使用道具 举报

发表于 2014-8-5 14:53:59 | 显示全部楼层
读数据命令,然后返回很多lcd屏幕像素点的数据。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-5 15:15:47 | 显示全部楼层
那这些数据都表示什么意思呢?比如第二个数据表示是红色?那第二个数据的哪几个位是有效的呢?
回复 支持 反对

使用道具 举报

发表于 2014-8-5 15:16:26 | 显示全部楼层
奔跑的蜗牛 发表于 2014-8-5 15:15
那这些数据都表示什么意思呢?比如第二个数据表示是红色?那第二个数据的哪几个位是有效的呢?

rgb565
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-5 15:22:25 | 显示全部楼层
如果是565的话,那return (((R>>11)<<11) | ((G>>10)<<5) | (B>>11));这条语句是干什么的?读一次数据好像就可以了
回复 支持 反对

使用道具 举报

发表于 2014-8-5 15:40:38 | 显示全部楼层
奔跑的蜗牛 发表于 2014-8-5 15:22
如果是565的话,那return (((R>>11)10)11));这条语句是干什么的?读一次数据好像就可以了

读RGB,读的时候应该是每次出来几位数据?     然后把RGB转化成相应的格式
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-5 16:15:01 | 显示全部楼层
这确实是读RGB的数据,但是现在不知道读出来的数据具体的位表示什么,为什么是这么转换的?
回复 支持 反对

使用道具 举报

发表于 2014-8-5 16:43:13 | 显示全部楼层
LCD_GetPoint看谁用到他,找到相关函数再看它里面是怎么解析的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 08:21 , Processed in 0.037626 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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