背景
该触摸芯片的指令组成虽然比较简单,仅由8位组成,但是该指令的每一位的含义却非常多样,但是常用的两个测量指令是0xD0用来测量X坐标,0x90用来测量Y坐标(以上两个测量指令都是12位数据模式)。
这一阶段最严重的问题就是一旦发送测量指令(在初始化时连续发送了两个测量指令),就会导致程序死掉(无法响应点击),并且重新烧写程序(不再发送指令),也无法恢复正常工作,只有重新断电再上电,才会恢复正常。
分析过程
这里首先看一下该芯片的测量指令的含义,如图1所示,对于该指令在使用过程中需要注意的点并不多,需要注意的是该指令的发送顺序,高位在前。
1.第一位为起始位,是恒为1的,也就是从空闲的低电平状态切换成指令发送起始;
2.A2 - A3是测量通道的选取,如图2所示,各个数值对应不同的测量对象;
3.Mode是用来选择ADC测量精度,该位为高电平1时表示8位数据精度,低电平0时表示12位数据精度,我们使用12位数据精度;
4.SER/DFR 是测量输入模式的选择,该模式位的不同选择对应的不同测量模式(单端参考模式和差分参考模式),我们这里使用差分参考模式;
PD1-PD0 是电源低功耗使能位,仅是控制触摸状态检测的引脚的触发时刻;