CH582 BLE休眠模式问题

通过查看EVT的HAL_SLEEP功能,发现在模式判断里有一个可以使用RTC以外功能唤醒的代码,请问是说ble的休眠唤醒可以不走rtc使用其他什么方式做唤醒吗?应该如何配置?

?// LOW POWER-sleep模式

? ? if(!RTCTigFlag)

? ? {

? ? ? ? LowPower_Sleep(RB_PWR_RAM2K | RB_PWR_RAM30K | RB_PWR_EXTEND);

? ? ? ? if(RTCTigFlag) // 注意如果使用了RTC以外的唤醒方式,需要注意此时32M晶振未稳定

? ? ? ? {

? ? ? ? ? ? time += WAKE_UP_RTC_MAX_TIME;

? ? ? ? ? ? if(time > 0xA8C00000)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? time -= 0xA8C00000;

? ? ? ? ? ? }

? ? ? ? ? ? RTC_SetTignTime(time);

? ? ? ? ? ? LowPower_Idle();

? ? ? ? }

? ? ? ? HSECFG_Current(HSE_RCur_100); // 降为额定电流(低功耗函数中提升了HSE偏置电流)

? ? }


唤醒方式有RTC唤醒和GPIO唤醒,这里的代码对RTC唤醒进行进入idle的降低功耗。如果使用到GPIO则没有处理,即唤醒后需要等待晶振稳定,晶振稳定时间见下图。目前这部分可以不进行处理。

image.png


只有登录才能回复,可以选择微信账号登录