|
查看: 1028|回复: 3

[BLE SDK] tl_ble_sdk为何关闭ble adv后就不能进入deepsleep retention休眠呢

[复制链接]

9

主题

15

回帖

189

积分

荣耀黄金

积分
189
发表于 2026-3-19 14:33:57 | 显示全部楼层 |阅读模式 来自 广东广州
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: TL3218
SDK及版本: tl_ble_sdk_v4.0.4.6
blc_ll_setAdvEnable(BLC_ADV_ENABLE)的时候deepsleep retention休眠正常,休眠电流、按键唤醒这些都ok。但是blc_ll_setAdvEnable(BLC_ADV_DISABLE)的时候,欸嘿进不了低功耗,这是为啥子?

3

主题

86

回帖

306

积分

版主

积分
306
发表于 2026-3-19 17:33:50 | 显示全部楼层 来自 上海
当系统无 BLE 任务执行时,需由应用层接管 PM(电源管理)模块的管控 —— 因协议栈无法自主判断应用层的休眠时机,需应用层主动决策进入低功耗模式。
参考实现代码
c
运行
if(blc_ll_isBleTaskIdle() )
{
    // 说明:SUSPEND_MODE仅作参考,客户需根据实际应用场景选择适配的休眠模式
    cpu_sleep_wakeup(SUSPEND_MODE, PM_WAKEUP_PAD|PM_WAKEUP_TIMER, blt_soft_timer_get_first_tick());

    // 重要注意点:若唤醒后仍需使用BLE功能,必须调用rf_drv_ble_init重新初始化BLE射频驱动
    rf_drv_ble_init();
}

9

主题

15

回帖

189

积分

荣耀黄金

积分
189
 楼主| 发表于 2026-3-20 11:13:14 | 显示全部楼层 来自 广东广州
TL_ZRL 发表于 2026-3-19 17:33
当系统无 BLE 任务执行时,需由应用层接管 PM(电源管理)模块的管控 —— 因协议栈无法自主判断应用层的休 ...

好的,感谢

3

主题

86

回帖

306

积分

版主

积分
306
发表于 2026-5-8 14:37:23 | 显示全部楼层 来自 上海

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部