蓝牙面试题解析:如何利用空闲回调降低 BLE 协议栈的功耗?
难度:⭐⭐⭐ 中等 |场景:社招二面、空闲回调 |高频:🔥🔥🔥
标准答案
空闲回调(Idle Callback)是协议栈提供的通知应用层"当前无待处理任务"的钩子,应用层在此回调中可安全进入深睡,从而最大化空闲功耗节省。
① 空闲回调机制
协议栈数据处理完 → 调用空闲回调 → 应用层判断: 无待处理任务 → 进入深睡 → 下一事件(连接/广播/中断)唤醒② 使用方式
// 常见的 BLE 协议栈(如 NimBLE/FreeRTOS)提供 idle hookvoidble_stack_idle_callback()