我正在努力设计一个HID设备的省电方法。
省电应用说明指出,在保持连接的同时,可以进入低功耗模式。它没有解释如何做到这一点。
理想情况下,该设备将希望具有活动模式、慢速轮询模式、空闲模式和停止模式。
HID鼠标RDK示例确实具有这些状态,因此看起来是理想的模型。这个例子的第一个问题是,在主代码体中根本没有注释,所以很难找出到底发生了什么。
除了停止以外的所有状态,CPU睡眠是相同的IE:
如果(CyBythGETBLISSTATE())= CyByLyBelsStaseE.OCOON on CyByLyGETBLESSTATE()= CyByLyBelsS
tisteOxDeLoSe] {CysSpMyStudiSeLeP();
但这是(我认为)每10MsScink间隔唤醒CPU,所以在所有3个状态之间似乎没有太大的差别。
我的问题是:
是否有另一个可用的模式来维持连接但消耗较少的功率(较长的连接间隔)?
当连接被维护时CPU是否必须定期唤醒(假设没有用户任务悬而未决)?
在代码BeFeYySypMyDeStudio()中,有一个ACEGULLIN。如果中断被禁用,CPU怎么会完全醒来呢?当然是这样。这是否意味着即使中断被禁用,BLE也会在连接间隔唤醒它?
我在所有模式中获得大约4mA电流,但这可能是因为我只使用标准万用表,也许这只是读取峰值。
谢谢