OpenEdv-开源电子网

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

li9481的屏幕读取gram,怎么处理

[复制链接]

1

主题

7

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-12-24
在线时间
5 小时
发表于 2016-1-2 01:30:03 | 显示全部楼层 |阅读模式
5金钱

请问ili9481的屏幕读取gram是怎么弄得不,我都出来的都是0,ili9481好像没有0x22这个寄存器
用这个函数读出来的都是0

最佳答案

查看完整内容[请看2#楼]

(*(__IO u16 *) (TFT_C))与你程序中的LCD->LCD_REG定义是一个意思,*(__IO u16 *) (TFT_D)同LCD->LCD_RAM定义一样,你的程序读LCD ID正常吗?看9481规格书:读数据时要读两次,第一次是读出的数据是无用的,第二次才是有用数据 //读LCD数据 //返回值:读到的值 u16 LCD_RD_DATA(void) { vu16 ram; //防止被优化 ram=LCD->LCD_RAM; return ram; } //读取个某点的颜色值 //x,y:坐标 //返回值:此点的颜色 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

191

帖子

0

精华

QQ游客

积分
813
金钱
813
注册时间
2013-6-9
在线时间
181 小时
发表于 2016-1-2 01:30:04 | 显示全部楼层
本帖最后由 rgzdb 于 2016-1-4 22:09 编辑

(*(__IO u16 *) (TFT_C))与你程序中的LCD->LCD_REG定义是一个意思,*(__IO u16 *) (TFT_D)同LCD->LCD_RAM定义一样,你的程序读LCD ID正常吗?看9481规格书:读数据时要读两次,第一次是读出的数据是无用的,第二次才是有用数据
捕获.JPG
//读LCD数据
//返回值:读到的值
u16 LCD_RD_DATA(void)
{               
        vu16 ram;                        //防止被优化
        ram=LCD->LCD_RAM;
        return ram;                 
}

//读取个某点的颜色值         
//x,y:坐标
//返回值:此点的颜色
u16 LCD_ReadPoint(u16 x,u16 y)
{
        vu16 r=0;
        LCD_WR_REG(0X2E);//发送读GRAM指令
        LCD_RD_DATA();                //dummy Read          
        r=LCD_RD_DATA();          //实际坐标颜色
        return r;                                       
}       



回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-1-2 01:33:13 | 显示全部楼层
根据屏幕手册配置读取寄存器
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-12-24
在线时间
5 小时
 楼主| 发表于 2016-1-2 01:41:55 | 显示全部楼层
龙之谷 发表于 2016-1-2 01:33
根据屏幕手册配置读取寄存器

C:\Users\wanghongjie\Desktop

我按照这个设置的,还是没反应
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-12-24
在线时间
5 小时
 楼主| 发表于 2016-1-2 01:44:50 | 显示全部楼层
按照命令    2Eh   read_memory_start,没错吧?
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-1-2 11:48:49 | 显示全部楼层
694758925 发表于 2016-1-2 01:41
我按照这个设置的,还是没反应

你这回复提供了点什么有效信息?

你回复个电脑路径有个毛线用?
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-12-24
在线时间
5 小时
 楼主| 发表于 2016-1-2 15:02:28 | 显示全部楼层
龙之谷 发表于 2016-1-2 11:48
你这回复提供了点什么有效信息?

你回复个电脑路径有个毛线用?

不好意思,刚才没整好,下面是我的代码,根据正点原子修改后的,还是没效果!附件为参考手册,求大神帮帮忙

u16 LCD_ReadPoint(u16 x,u16 y)
{
vu16 r=0,g=0,b=0;
        if(x>=lcddev.width||y>=lcddev.height)return 0;                  
        LCD_SetCursor(x,y);            
        LCD_WR_REG(0X2E);   
        LCD_RD_DATA();                                                                       
        opt_delay(2);          
        r=LCD_RD_DATA();                                                                   
        opt_delay(2);          
        b=LCD_RD_DATA();
        g=r&0XFF;               
        g<<=8;
        return LCD_BGR2RGB(r);                                               
}               

ILI9481DS_V0.26.pdf

1.61 MB, 下载次数: 599

参考手册

回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-1-2 17:01:54 | 显示全部楼层
694758925 发表于 2016-1-2 15:02
不好意思,刚才没整好,下面是我的代码,根据正点原子修改后的,还是没效果!附件为参考手册,求大神帮帮 ...

对屏幕不是很熟
先读出ID后再仔细对照手册测试吧
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-12-24
在线时间
5 小时
 楼主| 发表于 2016-1-3 21:03:08 | 显示全部楼层
龙之谷 发表于 2016-1-2 17:01
对屏幕不是很熟
先读出ID后再仔细对照手册测试吧

龙之谷   虽然还没有解决,不过还是非常感谢你的帮助!
回复

使用道具 举报

14

主题

191

帖子

0

精华

QQ游客

积分
813
金钱
813
注册时间
2013-6-9
在线时间
181 小时
发表于 2016-1-3 22:21:01 | 显示全部楼层
试试这个:
//读取个某点的颜色值         
//x,y:坐标
//返回值:此点的颜色
u16 LCD_ReadPoint(u16 x,u16 y)
{
    vu16 t=0;
   LCD_SetCursor(x,y);
    (*(__IO u16 *) (TFT_C)) = 0X2E;                                                               
    t=(*(__IO u16 *) (TFT_D));         //dummy Read          
    t=(*(__IO u16 *) (TFT_D));                 //实际坐标颜色
    return t;                                               
    }
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-12-24
在线时间
5 小时
 楼主| 发表于 2016-1-4 19:12:00 | 显示全部楼层
rgzdb 发表于 2016-1-3 22:21
试试这个:
//读取个某点的颜色值         
//x,y:坐标

大神能不能将  TFT_C和TFT_D,__IO所指的宏定义也发给我呀,我测试一下,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 21:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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