OpenEdv-开源电子网

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

关于触摸屏芯片GT9147的寄存器问题

[复制链接]

7

主题

171

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2337
金钱
2337
注册时间
2015-9-6
在线时间
536 小时
发表于 2017-4-20 17:13:18 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 键盘侠 于 2017-4-20 17:15 编辑

关于触摸芯片GT9147想请教大家几个问题。

1.GT9147手册上0x8150地址对应的不是第一个触摸点的坐标,其他触摸点的起始地址也都偏移了,是手册问题还是宏定义失误了?
[mw_shl_code=c,true]#define GT_GSTID_REG         0X814E           //GT9147当前检测到的触摸情况
#define GT_TP1_REG                 0X8150          //第一个触摸点数据地址
#define GT_TP2_REG                 0X8158                //第二个触摸点数据地址
#define GT_TP3_REG                 0X8160                //第三个触摸点数据地址
#define GT_TP4_REG                 0X8168                //第四个触摸点数据地址
#define GT_TP5_REG                 0X8170                //第五个触摸点数据地址  [/mw_shl_code]
QQ截图20170420165708.jpg
QQ截图20170420165729.jpg
QQ截图20170420165750.jpg
QQ截图20170420165758.jpg
QQ截图20170420165807.jpg

2.进行软复位操作时是把0x02写到了地址0x8040寄存器,但是看了一下手册,里面的八个位对应了0~8九个解释。这个地方没太看明白,希望研究过的人帮忙解答一下,为啥写了0x02就会软复位。
QQ截图20170420170038.jpg
[mw_shl_code=c,false]        if(strcmp((char*)temp,"9147")==0)        //ID==9147
        {
                temp[0]=0X02;                       
                GT9147_WR_Reg(GT_CTRL_REG,temp,1);//软复位GT9147
                GT9147_RD_Reg(GT_CFGS_REG,temp,1);//读取GT_CFGS_REG寄存器
                if(temp[0]<0X60)//默认版本比较低,需要更新flash配置
                {
                        printf("Default Ver:%d\r\n",temp[0]);
                        GT9147_Send_Cfg(1);//更新并保存配置
                }
                delay_ms(10);
                temp[0]=0X00;         
                GT9147_WR_Reg(GT_CTRL_REG,temp,1);        //结束复位          
                return 0;
        }[/mw_shl_code]

最佳答案

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

GT的IC我知道的就有两个版本,0x8150是老版本。另外那个是新版本
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2016-12-30
在线时间
37 小时
发表于 2017-4-20 17:13:19 | 显示全部楼层
GT的IC我知道的就有两个版本,0x8150是老版本。另外那个是新版本
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-4-20 19:20:38 | 显示全部楼层
你试试改代码,看看OK 么?
回复

使用道具 举报

15

主题

338

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1276
金钱
1276
注册时间
2016-3-16
在线时间
282 小时
发表于 2017-5-5 12:13:11 | 显示全部楼层
应该是规格书写错了,第一个触摸数据地址应该是0x8150
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2018-1-20
在线时间
5 小时
发表于 2018-4-6 11:07:43 | 显示全部楼层
试了一下,是数据手册写错了,因为用数据手册上面的寄存器地址,只能检测到4个触控点
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2018-1-20
在线时间
5 小时
发表于 2018-4-6 11:08:17 | 显示全部楼层
至于问题2,同问,求原子大哥指点
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2018-1-20
在线时间
5 小时
发表于 2018-4-6 11:09:57 | 显示全部楼层
正点原子 发表于 2017-4-20 19:20
你试试改代码,看看OK 么?

按照数据手册的改过代码之后,只能检测到4个触控点,但是楼主的问题2怎么解释,求原子大哥指点
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2019-9-10
在线时间
7 小时
发表于 2020-4-8 11:11:14 | 显示全部楼层
数据手册确实不对,研究了好久。视频上给出了正确的地址。。。。尴尬。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 19:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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