现象:读坐标时,x轴方向没问题,y轴方向时读到0xFF。
现象如上,我使用逻辑分析仪抓出的数据感觉也没有问题,我怀疑是芯片的原因,但是读芯片一些寄存器时,也能得到正确的反馈。
分析一下芯片的工作过程,
1、在Active模式下,每秒有60次刷新,芯片会读取是否有触摸,然后将数据写在XY数据寄存器里。
2、单片机轮询读寄存器,把数据取出来。
两个方向,因为前者我都是默认配置,芯片出问题的概率还是很小,所以最有可能还是我读数据出现问题。
我又思考,我读X方向一直没有问题,或许从一次读4个寄存器改为两次读2个寄存器会更好一点,无非就是占用时间长了那么一点,为了数据正确都可以牺牲。
代码改动就这点,其他的就是取数据之类的buf要修改一下。结果竟然成了。
现象如下:
至于为啥这样就能成,我很疑惑,因为之前的错误不是每次Y轴都是0xff,也有正确的的时候,按照逻辑来讲,一次读4个和两次读两个没有区别。