如题,我的芯片为4014LQI-422,我的一个项目需要多个Button作为输入,IIC读取按键值,并且做到低功耗。我看到官方网站有一些关于此部分的历程代码,因此参考CE201291的代码作为底包,历程中为一个button,跑在我的板子与手册所说无异,但我修改为多个Button之后,功耗就明显增加并且一直在1ma、200ua之间跳动。代码中我修改了
CapSense_CSDSetupWidgetExt(CapSense_BUTTON0_WDGT_ID, CapSense_BUTTON0_SNS0_ID);
为
CapSense_CSDSetupWidget(CapSense_BUTTON0_WDGT_ID);
适应多个按键扫描;
其他未动,不知有没有做过此部分的,请指点 一二,谢谢
Hi Guohua,
扫描的时候,这个例程应该是用的CapSense_CSDScanEnableWidgets();
开启多个按键之后,扫描的按键数量多了,扫描过程的功耗大幅增加,因此功耗难降低了,建议参考CE210488,建一个ganged sensor将所有按键绑在一起。Active状态下扫描所有按键,慢速模式下扫描ganged sensor. 这样有利于降低功耗。
您好,感谢您的回答,我尝试过用ganged,但是使用之后按下之后,按键状态不能恢复,不知道您有没有遇到这种情况
Sorry,我使用全局搜鎖也未找到您所説的這個函數CapSense_CSDScanEnableWidgets,此函數是不是老組件的函數呢?
嗯,我以为是老版本的组件。
不用ganged话,多个按键功耗肯定增加。使用ganged按键,按键不能恢复这点很奇怪,还没遇到过。有可能是widget的setup、扫描、数据更新有问题。
Based on the comment of @tanggh_2945091's power consumption dropping to 200 uA, I would assume that he is entering low power modes to save on power usage. It could be that the widget for scanning the buttons needs a change to support low power mode?
我觉得不是,如果是正在进入低功耗的话,应该是不断下降的,不应该是上下跳动
This PDF guide might be useful: PSoC® 4 CapSense® Troubleshooting Guide - KBA219217
Otherwise I have no other ideas
上下跳动是正常的,因为进入低功耗之后,芯片会被周期性的唤醒。唤醒时会有大电流,睡眠时会是小电流。
可以详细阅读该例程的例程说明。
再次请教一下,使用此历程出现一个问题:开始的时候触摸按键不灵敏,IIC发出数据很慢。过一段时间之后,触摸又变得很灵敏,IIC发出的数据很及时
过一段时间是指多久?一个可能的原因是芯片进入了睡眠,或者Rawcount和baseline没有及时更新。
这个需要用Tuner监测一下diffcount rawcount等看一下了。
您好,大约3分钟吧,测试发现,反应不灵敏的时候,功耗一直在30ua左右。一段时间之后,按键按下功耗为100多ua。此时读数正常
最好能用tuner看一下上电后发生了什么