用的是BLE_PHY例程。有没有这样的一种机制:
通过蓝牙指令让CH睡眠。(这个已经实现)
再次通过蓝牙数据唤醒CH
第二步骤有没有可参考的程序呢?
目前我能想到的就是利用RTC,定时唤醒,然后收几个BLE包,判断是否继续睡。但是不知道该采用哪种睡眠能够最大程度的降低功耗。目前试了几个,效果不是特别理想。
热门产品 :
CH32X035: 32位USB+USB PD单片机
用的是BLE_PHY例程。有没有这样的一种机制:
通过蓝牙指令让CH睡眠。(这个已经实现)
再次通过蓝牙数据唤醒CH
第二步骤有没有可参考的程序呢?
目前我能想到的就是利用RTC,定时唤醒,然后收几个BLE包,判断是否继续睡。但是不知道该采用哪种睡眠能够最大程度的降低功耗。目前试了几个,效果不是特别理想。
CH573EVT包中没有BLE_PHY这个例程,用的是RF_PHY例程吧?
32M主频在休眠期间是停止工作的,而2.4G频段的信号依赖32M晶振产生,故2.4GRF的接收功能,在sleep休眠期间是关闭的.目前只有“先唤醒再收包”这个逻辑可以用来在休眠后接收2.4GRF信号。“利用RTC,定时唤醒,然后收几个BLE包,判断是否继续睡”或者用GPIO唤醒后再去开RF收包,一个道理。
“采用哪种睡眠能够最大程度的降低功耗”使能HAL_SLEEP后的sleep休眠,是次最低功耗了;shutdown休眠是最低功耗,不过唤醒后MCU会复位。
功耗不仅与休眠等级有关,与唤醒频次、唤醒后的工作时长关系更为密切。可以监控MCU的工作时长,尽量压缩。