当前位置: 首页 > news >正文

BlueNRG-LP v3.x 协议栈主要事件列表与含义解析

📡本文总结了 BlueNRG-LP v3.x BLE 协议栈 中支持的主要事件,涵盖 GAP、L2CAP、GATT Server/Client 以及 Controller 层事件,可用于开发者在 hci_user_evt_proc() 回调中进行事件解析、状态机驱动和逻辑控制。


🔗 GAP(通用访问配置)模块事件

事件名称事件含义
HCI_LE_CONNECTION_COMPLETE_EVENTBLE 连接建立成功
HCI_DISCONNECTION_COMPLETE_EVENTBLE 连接断开
HCI_LE_ADVERTISING_REPORT_EVENT接收到广播包(扫描模式下)
ACI_GAP_PROC_COMPLETE_EVENT扫描/连接过程完成
ACI_GAP_PAIRING_COMPLETE_EVENT配对过程完成
ACI_GAP_PASS_KEY_REQ_EVENT请求用户输入配对 PIN
ACI_GAP_BOND_LOST_EVENTBond 信息丢失,需重新配对

🔄 L2CAP(逻辑链路控制和适配协议)模块事件

事件名称事件含义
ACI_L2CAP_CONNECTION_UPDATE_REQ_EVENT从设备请求连接参数更新
ACI_L2CAP_CONNECTION_UPDATE_RESP_EVENT主设备响应连接参数更新
ACI_L2CAP_PROC_TIMEOUT_EVENT连接参数更新超时

📡 GATT Server(服务端)事件

事件名称事件含义
ACI_GATT_SRV_ATTRIBUTE_MODIFIED_EVENT客户端写入某个属性值(Notify 或 Write)
ACI_GATT_SRV_READ_EVENT客户端请求读取属性(回调处理)
ACI_GATT_SRV_WRITE_EVENT客户端写入属性(回调处理)
ACI_GATT_SRV_CONFIRMATION_EVENT客户端确认收到 Indication

📲 GATT Client(客户端)事件

事件名称事件含义
ACI_GATT_CLT_NOTIFICATION_EVENT接收到服务端 Notify 数据
ACI_GATT_CLT_INDICATION_EVENT接收到服务端 Indication 数据
ACI_GATT_CLT_PROC_COMPLETE_EVENTGATT 操作完成(如读、写、发现等)
ACI_GATT_CLT_ERROR_RESP_EVENTGATT 操作出错(如读写失败)

🧩 Controller(控制器)事件

事件名称事件含义
HCI_HARDWARE_ERROR_EVENT硬件异常,可能需复位 BLE 模块
HCI_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVENT安全链路认证数据超时
ACI_HAL_FW_ERROR_EVENT协议栈内部错误(需根据参数进一步判断)

✅ 应用建议

这些事件是构建 BLE 应用逻辑的重要基础,建议你在 hci_user_evt_proc() 回调函数中集中处理,并结合事件驱动的 有限状态机(FSM) 实现模块行为管理。例如:

  • 接收 HCI_LE_CONNECTION_COMPLETE_EVENT 后切换至已连接状态;

  • 接收到 ACI_GATT_SRV_ATTRIBUTE_MODIFIED_EVENT 后解析属性数据;

  • ACI_GAP_PAIRING_COMPLETE_EVENT 可结合配对状态更新安全机制。


🧠 结语

掌握这些核心事件,有助于你快速开发稳定可靠的 BLE 应用系统。建议结合 AT 命令系统、URC 通知机制以及状态机进行事件响应处理,构建清晰、可控的架构。

如需进一步了解 FSM 架构设计、事件队列管理与 BLE API 调用,可参考以下推荐文章:

  • 《BlueNRG-LP BLE 状态机设计思路》

  • 《BLE 协议栈事件驱动机制详解》

  • 《嵌入式系统中如何构建事件响应架构》


相关文章:

  • 玩转ESP32-S3:UDP网络通信技术详解
  • 快速支持DeepSeek-V3-0324,昇思MindSpore+vLLM服务化部署开源版本上线魔乐社区
  • 正则表达式学习笔记
  • 深入理解Softmax函数及其在PyTorch中的实现
  • 2025华为OD真题目录:全流程解析/备考攻略/经验分享/Java/python/JavaScript/C++/C语言/GO六种语言最佳实现
  • 从零开始学Python游戏编程21-Pygame库1
  • DDoS攻击:网络世界的“洪峰考验”与应对逻辑
  • k8s证书续期
  • HarmonyOS-ArkUI V2装饰器@Local装饰器:组件内部状态
  • 2025年ChatGPT最新功能深度解析:从技术升级到应用场景全面解读
  • Lua 中,`math.random` 的详细用法
  • spring:xml方式调用构造方法创建Bean,调用set方法配置字段
  • 视频智能分析平台EasyCVR打造智能视频监控烟火预警系统,助力烟花鞭炮厂坚固安全防线
  • pyautogui是什么:自动化鼠标和键盘操作
  • Laravel 使用 事件和监听器实现 数据状态变更
  • 5分钟用Docker Desktop新功能搭建Python+AI开发环境
  • docker 运行自定义化的服务-后端
  • 渗透测试实战:使用Hydra破解MySQL弱口令(附合法授权流程+防御方案)
  • Cannot find module ‘vue‘ or its corresponding type declarations
  • 实战教程:使用JetBrians Rider快速部署与调试PS5和Xbox上的UE项目
  • 最大的域名注册网站是那个/上海百度
  • 网站接口怎么做/成都网站关键词排名
  • 莱芜金点子电子版报纸/seo的定义
  • 网站推广方法/全国新增确诊病例
  • 网站怎么做关键词优化/网站的网络推广
  • 做设计网站的工作怎么样/搜seo