金牌会员
 
- 积分
- 2337
- 金钱
- 2337
- 注册时间
- 2015-9-6
- 在线时间
- 536 小时
|
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]
2.进行软复位操作时是把0x02写到了地址0x8040寄存器,但是看了一下手册,里面的八个位对应了0~8九个解释。这个地方没太看明白,希望研究过的人帮忙解答一下,为啥写了0x02就会软复位。
[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]
|
|