ch579 低功耗模式下使用RTC喚醒的例程有人有嗎?
你好,請問你是使用藍牙開啟低功耗然后RTC喚醒嘛?如果使用藍牙的話,使能HAI_SLEEP就開啟了RTC觸摸喚醒。如果不是,也可以參考CH579EVT里面sleep.c,自己移植即可。
@wangyy 你好,請問開啟了HAL_SLEEP? 為TRUE后,會有什么現(xiàn)象產(chǎn)生嗎?我開啟之后,我從串口的數(shù)據(jù)感覺不出有進入睡眠還有喚醒的過程,藍牙從機一直都在進行的樣子,沒有進入睡眠模式。
還有
#define WAKE_UP_RTC_MAX_TIME65
這個65的單位是秒還是什么的次數(shù)嗎?
睡眠是由TMOS系統(tǒng)管理的,有Event就運行,沒有就睡眠。
WAKE_UP_RTC_MAX_TIME為睡眠喚醒所需時間,默認不要修改,單位為625us
好,謝謝Taoyukai解答,祝你們雙節(jié)快樂!到時候有問題再提出
請問官方技術(shù)人員,現(xiàn)在我想在Peripheral的官方例子上面實現(xiàn)用戶自己控制低功耗-Shutdown模式(不是TMOS根據(jù)有無Event進行睡眠和RTC喚醒),藍牙關(guān)閉,然后RTC 10s后喚醒,藍牙開啟,請問要怎么實現(xiàn)?弄了一周不成功。
下面是想實現(xiàn)特征值1收到信息后,睡眠,然后RTC 10s后喚醒,不過沒有實現(xiàn)我想要的功能,藍牙收到消息,關(guān)機后就沒有喚醒了,再起不能。
static void simpleProfileChangeCB( uint8 paramID )
{
? switch( paramID )
? {
? ? case SIMPLEPROFILE_CHAR1:
{
uint8 newValue[SIMPLEPROFILE_CHAR1_LEN];
SimpleProfile_GetParameter( SIMPLEPROFILE_CHAR1, newValue );
PRINT("profile ChangeCB CHAR1.. \n");
RTC_SetTignTime( 10*32768 );//定時10s
LowPower_Shutdown( NULL );?//這個實現(xiàn)不了喚醒
//CH57X_LowPower( 10*32768);//這個實現(xiàn)不了睡眠的樣子,可以一直接收藍牙數(shù)據(jù)
SetSysClock( CLK_SOURCE_HSI_32MHz );
DelayUs(1500);
SetSysClock( CLK_SOURCE_HSE_32MHz );
PRINT( "wake.. \n");??
? ? ? break;
}
? ? default:
? ? ? // should not reach here!
? ? ? break;
? }
}
同時注釋了
void CH57X_BLEInit( void )
{
? ...//忽略
#if (defined (HAL_SLEEP)) && (HAL_SLEEP == TRUE)
?// cfg.WakeUpTime = WAKE_UP_RTC_MAX_TIME;??
?// cfg.sleepCB = CH57X_LowPower;? // 啟用睡眠
#endif
...//忽略
}
請問官方能不能大概說一下解決方案,或者我的思路哪里有問題,謝謝啦
你好,可以加我一下微信:18951773083,我找專門負責藍牙的技術(shù)人員跟你對接一下。
好,謝謝您,加了
您好、解決了嗎?我遇到休眠喚不醒的情況,請教一下
你好,你可以加我微信18921422767,我?guī)湍憧聪隆?/p>
我也想實現(xiàn)用戶自己控制低功耗-Shutdown模式(不是TMOS根據(jù)有無Event進行睡眠和RTC喚醒),藍牙關(guān)閉,然后RTC 5s后喚醒或者按鍵喚醒,藍牙開啟,但不知怎么解決,調(diào)了一周了,請求幫助!
用戶自己控制低功耗shutdown模式可以參照我們PM的例程去進行修改,使用的是按鍵喚醒,如果需要rtc喚醒可參考此鏈接: