請問能實現(xiàn)低功耗下廣播嗎?如每1秒進行廣播,然后其他時間在低功耗睡眠下!
你好,可以實現(xiàn),將config.h里面的HAL_SLEEP宏使能即可。
若應(yīng)用里,需人為退出睡眠,或再次進入說明,那需怎么設(shè)置?
進入睡眠
睡眠的喚醒方式可以自己設(shè)置,具體可以查看手冊,不同睡眠檔位支持喚醒方式不同。至于進入睡眠我們提供了進入睡眠函數(shù),具體可見CH579EVT/PM文件下例程。
請問有BLE和低功耗結(jié)合的例程參考么,不是開啟config.h里面的hal_sleep宏使能的,謝謝??!
BLE例程中已經(jīng)包含了低功耗的處理 只不過通過宏來開啟。
發(fā)現(xiàn)在低功耗廣播時,會在某個時間不再睡眠,沒有跳到CH57X_LowPower打印輸出
可以做個全局變量,放在u32 CH57X_LowPower( u32 time ) 這個函數(shù)一開始的地方,作為判斷標識
如果程序中需要開啟屏蔽休眠,只需要判斷這個全局變量,讓其直接返回0即可.
@wangyy, 我用 CH579M-R1-1v2 EVB + peripheral 例程,開啟 HAL_SLEEP,WAKE_UP_RTC_MAX_TIME 時間設(shè)置成最大255,廣播時還有 5V/0.75mA的電流,連接手機之后約為5V/0.5mA,這是否有點偏大了?我已經(jīng)把電源指示燈去掉。
以下數(shù)據(jù)僅供參考,新版本的SDK 應(yīng)該有所降低:
廣播類型廣播數(shù)據(jù)長度廣播間隔輸出功率廣播信道數(shù)DCDCEVT1.7平均電流可被連接12100ms0dbm3關(guān)閉400uA可被連接12200ms0dbm3關(guān)閉210uA可被連接12500ms0dbm3關(guān)閉89uA可被連接121000ms0dbm3關(guān)閉47uA可被連接122000ms0dbm3關(guān)閉25.5uA可被連接12100ms0dbm3開啟246uA可被連接12200ms0dbm3開啟127uA可被連接12500ms0dbm3開啟53uA可被連接121000ms0dbm3開啟27uA官方的板子,LDO 需要拆掉,然后在休眠的時候 每個IO都需要有固定的電平,譬如上拉輸入,或者下拉輸入.再使能HAL_SLEEP=TRUE的宏.
不同的廣播間隔,連接間隔將會獲得不同的平均電流參數(shù).