CH579M 定時功能導(dǎo)致高電流

? ? 在測試藍牙電流時,用CH579EVT\EVT\EXAM\BLE\HeartRate?的例程,#define HAL_SLEEP TRUE。


????在編譯后,電流3.5uA。?在設(shè)置了定時1秒喚醒后, RTC_TMRFunCfg(Period_1_S);?程序出現(xiàn)了高電流,應(yīng)該是喚醒后的LowPower_Idle();?導(dǎo)致高電流。?為何這是的RTC觸發(fā)不起作用?

? ? 如果改用 DelayUs((1200)/5)?替換RTC_SetTignTime( time )來延時,則睡眠電流有提高了。

? ? 應(yīng)該如果修改,保存更低的電流?


? ??

在設(shè)置了HAL_SLEEP之后,Toms任務(wù)空閑的時候,Toms會調(diào)用sleep函數(shù),進入睡眠狀態(tài)。此時電流為幾微安。但是,你使用的是BLE下面的相關(guān)例程,藍牙是在定時廣播,此時TMOS任務(wù)會定時喚醒它,所以電流會提高,Tmos本身的時鐘管理就是基于RTC的,所以RTC時間只能讀,不能寫,否則會造成之前的任務(wù)時間點紊亂,所以你要定時喚醒的話,可以自己設(shè)定一個Tmos的定時任務(wù)。
Toms的使用說明:WCH TMOS用法詳解 - debugdabiaoge - 博客園 (cnblogs.com)

如果你只是想要測量相關(guān)的電流,你可以使用PM的例程,這是不包含藍牙的任務(wù),可以持續(xù)睡眠。

如果你是為了更低的功耗,可以調(diào)大廣播間隔和連接間隔,這樣設(shè)備在連接事件之間有較長時間的休眠。

這里提供調(diào)大廣播和連接間隔的參考:http://m.findthetime.net/bbs/thread-86487-1.html



? ?謝謝你的回復(fù)。

? ?我查看了timer的函數(shù),這不是一個周期性重復(fù)的函數(shù)?我希望得到一個同步于RTC的second時間的事件,去驅(qū)動一個任務(wù)。

? ?從數(shù)據(jù)手冊上看,RTC的定時功能,與觸發(fā)功能應(yīng)當(dāng)是獨立的?不應(yīng)當(dāng)會影響相互的中斷。然而,從測試情況看,開啟了定時功能后,RTC的觸發(fā)似乎不起作用了。


RTC的定時和觸發(fā)是不沖突的,我在PM的例程中進行了定時和觸發(fā)同時使用,以下可以參考。


初始化:

1648697839155013.png


睡眠函數(shù):

1648697839178018.png


服務(wù)函數(shù):

1648697839121113.png


打印情況:

4.png


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频