1.GT9147 编程指南文件中关于寄存器0X8040中的定义如下
2.软复位程序
if(strcmp((char*)temp,"9147")==0)//ID==9147
{
temp[0]=0X02;
GT9147_WR_Reg(GT_CTRL_REG,temp,1);//软复位GT9147 向0X8040(控制寄存器)写0x02 (#define GT_CTRL_REG 0X8040 //GT9147控制寄存器)
GT9147_RD_Reg(GT_CFGS_REG,temp,1);//读取GT_CFGS_REG寄存器
if(temp[0]<0X60)//默认版本比较低,需要更新flash配置
{
printf("Default Ver:%d
",temp[0]);
GT9147_Send_Cfg(1);//更新并保存配置
}
delay_ms(10);
temp[0]=0X00;
GT9147_WR_Reg(GT_CTRL_REG,temp,1);//结束复位 向0X8040(控制寄存器)写0x000,
return 0;
}
3.为什么是写0X02就是软复位?写0X00就是结束软复位
GT9147编程指南中定义
向0X8040写1或2:差值原始值
向0X8040写0:读取坐标状态 (可以理解为可以开始读取触摸屏的数据了)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
现在怎么办,我已经把GT9147配置版本改成了0X69了,其他都没改。(0X69是我把配置数组的第一个数据0x60改的),其他配置文件不变的话,应该也不会影响GT9147吧。
测试发现X轴方向的是正确的,Y轴方向触摸和显示成了上半屏触摸,下半屏显示。
是否可以说明配置数组本身就是错误的呢。出厂设置好了,实际在我们调试程序时,因读出的版本号
总是不会小于0X60,就永远不会执行配置更新程序。
求帮解决啊。
一周热门 更多>