一、起因
- 要开发触摸的相关产品,本来想选合泰的触摸MCU,由于与松翰的代理商一直有合作关系,松翰的单片机质量也蛮可靠,因此打了个电话问了一下,业务就给我推荐了SN8F5711,10通道触摸口。
二、开发过程
- 由于SN8F5711有自带的触摸库,我们只要在原有的基础上开发就OK了。
- 触摸的CS算法只有在产品拿去做测试的时候需要使能编译,其他时候默认不编译。在电池应用中当电池电量逐渐消耗到底,并且充电回升的时候,触摸按键无法被正常唤醒。具体原因待查。
- 松翰为触摸单片机提供了一个上位机软件来直观的查看触摸按键的灵敏度,方便开发者选择合适的灵敏度值,只需打开触摸库的Debug Mode调试模式,它是调用I2C与STM32通信,然后通过STM32串口发送到PC上。Debug Mode在不查看灵敏度的时候需要关闭,他会影响实际的触摸感
调试板
上位机软件
- VDDCheck为电压检测库,当电池电压处于不正常范围值或者纹波过大,触摸功能被禁止。
- 触摸库提供了按键消抖函数和键值处理函数。消抖函数我用了,并且把消抖时间设为了20ms,虽然官方建议40-60ms,目前没问题,但还是要经过大货检验。但是键值处理函数由于客户需要的功能是滑条+轻触只能自己另外写一个了。
三、总结
最后很遗憾在有限的时间内没有实现比例计量滑条模式,目前只是简单的实现可分方向的无极调光。
问题:在电池应用中当电池电量逐渐消耗到底,并且充电回升的时候,触摸按键无法被正常唤醒。具体原因待查。
原因:dummy库被被使能,会开启内部的通道检测,根据不同的情况会重测所有通道的基准值,导致了触摸按键不灵。
非特别情况,不用开启。