ADKEY复用指示灯不定时出现灯不亮或按键失灵的问题
测试SDK版本:《ac696n_soundbox_sdk_v1.5.0-20211217》
前言
ADKEY复用指示灯的做法多用于蓝牙小音箱,IC引脚越来越少,复用也就用的越多了,不过,在使用前应评估好功能,因为复用的做法,肯定会牺牲点东西的,如果体验感啥的。
比如这个图,(V-)按键按下时,LED是会一直导通发光的,按不同阻值的按键还有亮度不一致的问题,这样的问题有的客户是不接受的,这就要另寻他法了。
一、问题描述与复现
某天调好案子,放在一边测试时,发现指示灯不亮了,按键也不起作用,想起之前AC692系列也有类似的问题,很快就定位到,可能是标准SDK复用的流程有问题了。
后续又测了几遍,发现这个问题不定时出现,有时很容易出现,有时又要等很久。
二、问题分析与解决
因为懒,不想重新写指示灯的流程,所以,还是通用方法,打印+看代码,看能不能找出问题。
最后问题定位在下图所示的这些变量:
看这部分的代码都把人绕晕了,最后发现是这些标志没有处理好,导致出现异常。
知道问题就好办了,直接用简单的方法解决,
写好的接口有问题,就不用了,直接注释掉:
然后直接在扫描AD通道的地方做复用功能的切换就好: