CH591使用RF_PHY接收模式,使能HAL_SLEEP似乎不會調(diào)用低功耗,需要手動管理休眠嗎?RF_PHY接收端該怎么處理低功耗呢,有相關(guān)的例子嗎
開啟HAL_SLEEP宏,在開啟RF接收模式后,設(shè)置一個超時時間例如100ms的接收窗口開啟時間,根據(jù)標(biāo)志判斷,一進入CH58X_LowPower函數(shù)則立馬return出去。達到100ms后再shut并正常進行睡眠。同時需要注意,在這100ms內(nèi)是否成功接收到數(shù)據(jù),如果未接收到,則可以延時更久的窗口時間。
或者使用手動調(diào)用睡眠,接收數(shù)據(jù)后shut并手動調(diào)用睡眠函數(shù)進行睡眠。
在開啟RF接收模式后,設(shè)置一個超時時間例如100ms的接收窗口開啟時間,根據(jù)標(biāo)志判斷,一進入CH58X_LowPower函數(shù)則立馬return出去。
開啟接收模式后似乎不會進低功耗的,假設(shè)我發(fā)送端的發(fā)送時刻是隨機的,接收端需要隨時做好接收的準(zhǔn)備,為了低功耗我在1s內(nèi),有100ms開啟接收,剩余時間關(guān)閉,假設(shè)平常未進入低功耗時電流有10ma,那平均電流最低也有10ma*1/10了,這還有其他處理方式嗎?
標(biāo)準(zhǔn)的處理方式就是這樣,雙方約定好時刻完成收發(fā)操作。
如果發(fā)送的時間不固定,可以在前一包中,包含下一包的間隔時間,這樣接收端在該間隔時間醒來接收數(shù)據(jù)即可。
或者發(fā)送端提高發(fā)送頻率,發(fā)送頻率大于接收的間隔時間。