去年做的LPC845电容触摸板子,今年终于调好软件了。参考了官方程序例子,修修改改,圆环触摸效果终于出来了。感觉效果还不错,可以实现圆环当触摸按键和模拟值。
下面就是串口输出测试的9路触摸端口数值。其中圆环使用触摸的3-8路端口。线性滑块使用0-2这3路端口,不过线性滑块部分没画好,效果不行。后面再试试画个滑块。
下图中touch是触摸通道,wheel是计算的模拟值,模拟值范围大概0-250左右。
实际板子如下:
去年调试时总是X3路端口触摸值不对劲,所以一直没搞好。今年终于发现问题所在了。都是被lpc845的SDK坑了。也不知道新的SDK有没改正这个错误。
主要原因就是X3路端口没有切换到触摸功能。
下面就是SWM切换触摸端口函数,这个函数有个问题
因为切换函数的X3路参数数值正好是0x80000000,而这个值正好是X4-X8,YH,YL的标志位用于区分是写入PINENABLE0还是PINENABLE1的参数。所以在调用X3切换的参数时,实际并没有写道SWM切换的PINENABLE0的31位,导致X3触摸端口没使能触摸功能。
下面是X3切换的寄存器位置。
这里就可以看到X3路端口没有使能。
最终修改了了一下。可以看到X3成功切换使能了。
为了解决这个问题耽误了好久。。。。。。
后面就可以用这个触摸圆环做一些其他控制了。