请问CH582F BLE例程如何启用低功耗

官方CH582F-EVT-C[外部背板]开发板,CH583EVT 2.0 2024-01-16。

PM例程测试正常,各模式下电流均正常。

未开启HAL_SLEEP

BLE Peripheral 可被手机蓝牙调试助手连接,可收发消息,调试信息一直打印

BLE Broadcaster 蓝牙调试助手可发现设备

BLE Observer 调试信息一直打印附近设备

BLE RF_PHY 调试信息一直打印"STA: 1"


开启HAL_SLEEP

#define HAL_SLEEP? ? ? ? ? ? ? ? ? ? ? ? ? ?TRUE

BLE Peripheral 手机蓝牙调试助手无法发现设备,调试信息停止打印

BLE Broadcaster 蓝牙调试助手不可发现设备

BLE Observer 调试信息一直打印附近设备,无影响

BLE RF_PHY 调试信息仅打印一次"STA: 1"

CH58X_LowPower每次入口参数都一样,2000左右,复位重新运行可改变,运行后即为固定值。

uint32_t CH58X_LowPower(uint32_t time)

{

? ? PRINT("%d\n", time);

...

}


time_sleep = time + (RTC_TIMER_MAX_VALUE - time_curr);

time_sleep值一直大于SLEEP_RTC_MAX_TIME导致无法进入低功耗

CH583EVT和CH592EVT中SLEEP_RTC_MAX_TIME宏定义方法不一样,将CH583EVT修改为CH592EVT方法


#define SLEEP_RTC_MAX_TIME? ? ? ? ? ? ? ? ? (RTC_TIMER_MAX_VALUE -? 1000 * 30)

几秒后可进入低功耗,uA级,但是功能是不正常的,未进入低功耗前不能搜索到。

请问如何测试BLE相关例程的低功耗模式,谢谢。



您好,看下是否使用的是最新的EVT例程,注意将MCU.c的这行代码屏蔽 测试看看

image.png


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