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

【0x005B】HCI_Write_Default_Erroneous_Data_Reporting命令详解

目录

一、命令概述

二、命令格式及参数

2.1. HCI_Write_Default_Erroneous_Data_Reporting命令格式

2.2. Erroneous_Data_Reporting

三、生成事件及参数

3.1. HCI_Command_Complete事件

3.2. 状态码(Status) 

四、命令执行流程

4.1. 命令发起阶段(主机端)

4.2. 命令接收与验证阶段(控制器端)

4.3. 命令执行阶段(控制器端)

4.4. 返回结果阶段

4.5. 主机处理响应阶段

4.6. 示例代码

五、命令使用场景

5.1. 蓝牙音频传输场景

5.2. 蓝牙文件传输场景

5.3. 蓝牙设备固件更新场景

六、注意事项

6.1. 参数范围与限制

6.2. 命令执行与结果检查

6.3. 对通信与功耗的影响

6.4. 设备兼容性与规范遵循

6.5. 其他注意事项


HCI_Write_Default_Erroneous_Data_Reporting命令允许主机(Host)设置蓝牙BR/EDR(Basic Rate/Enhanced Data Rate)控制器在接收到错误数据时的报告行为。这个设置决定了控制器是否会在HCI数据包的状态标志中反映数据包的错误状态。

一、命令概述

当执行此命令时,蓝牙BR/EDR控制器会根据Erroneous_Data_Reporting参数的值来决定是否在同步数据包的Packet_Status_Flag中设置错误状态。这个设置不会影响已经存在的同步连接,仅对命令执行后新建立的连接有效。

  • 如果Erroneous_Data_Reporting参数被设置为启用错误数据报告,那么当控制器接收到错误数据包时,它会在相应的HCI数据包的状态标志中设置Packet_Status_Flag,以指示数据包存在错误。
  • 如果Erroneous_Data_Reporting参数被设置为禁用错误数据报告,那么即使控制器接收到错误数据包,它也不会在HCI数据包的状态标志中反映这一错误状态。

二、命令格式及参数

2.1. HCI_Write_Default_Erroneous_Data_Reporting命令格式

HCI_Write_Default_Erroneous_Data_Reporting命令遵循蓝牙核心规范中定义的HCI命令结构。

通常包括命令操作码(Opcode)、参数长度(Parameter Length)和参数(Parameters)三部分。

  • 命令操作码(Opcode)
    • OGF(操作码组字段):通常为0x03,表示这是HCI Control and Baseband commands的一部分。
    • OCF(操作码命令字段):对于HCI_Write_Default_Erroneous_Data_Reporting命令,OCF为0x005B。
  • 参数长度(Parameter Length):表示随后参数部分的字节数。对于此命令,参数长度通常为1个字节。
  • 参数(Parameters):即要设置的Erroneous_Data_Reporting参数值。这个值决定了控制器的错误数据报告行为。

2.2. Erroneous_Data_Reporting

Erroneous_Data_Reporting参数用于指定当数据包出现错误时,蓝牙控制器是否应该在HC数据包的状态标志中设置Packet_Status_Flag。这个参数的值决定了控制器的行为。

  • 0x00:错误数据报告禁用(默认)。当设置为这个值时,蓝牙控制器在接收到错误数据包时,会在HCI数据包的状态标志中设置相应的错误状态。允许主机检测到这些错误数据包,并可以采取适当的行动,如重传、记录日志或通知用户。
  • 0x01:错误数据报告启用。当设置为这个值时,蓝牙控制器在接收到错误数据包时,不会在HCI数据包的状态标志中设置错误状态。意味着主机不会收到关于这些错误数据包的通知。
  • All other values Reserved for future use:除了0x00和0x01之外的所有值都保留给蓝牙核心规范的未来版本使用。

三、生成事件及参数

3.1. HCI_Command_Complete事件

HCI_Write_Default_Erroneous_Data_Reporting命令执行完毕后,蓝牙控制器会生成一个HCI_Command_Complete事件(除非该事件被屏蔽)。这个事件是HCI通信协议的一部分,用于通知主机命令已成功执行、遇到错误或需要进一步的响应。

  • 事件代码HCI_Command_Complete事件有一个固定的事件代码,用于标识它是一个命令完成事件。

  • 参数长度:指定了随后参数部分的字节数。对于HCI_Command_Complete事件,参数长度通常包括状态码、命令操作码(Opcode)的返回部分

相关文章:

【0x005B】HCI_Write_Default_Erroneous_Data_Reporting命令详解

目录 一、命令概述 二、命令格式及参数 2.1. HCI_Write_Default_Erroneous_Data_Reporting命令格式 2.2. Erroneous_Data_Reporting 三、生成事件及参数 3.1. HCI_Command_Complete事件 3.2. 状态码(Status) 四、命令执行流程 4.1. 命令发起阶段(主机端) 4.2. 命…...

基于 Python 的学生成绩管理系统设计与实现

标题:基于 Python 的学生成绩管理系统设计与实现 内容:1.摘要 摘要:本文介绍了一个基于 Python 的学生成绩管理系统的设计与实现。该系统旨在提高学生成绩管理的效率和准确性,方便教师和学生进行成绩查询和分析。本文详细描述了系统的设计思路、功能模块…...

【Apache Doris】周FAQ集锦:第 29 期

引言 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。 通过这个每周 FAQ 栏目,希望帮助社…...

【C】初阶数据结构3 -- 单链表

之前在顺序表那一篇文章中,提到顺序表具有的缺点,比如头插,头删时间复杂度为O(n),realloc增容有消耗等。而在链表中,这些问题将得到解决。所以在这一篇文章里,我们将会讲解链表的定义与性质,以及…...

Autodl安装tensorflow2.10.0记录

首先租用新实例(我选的是3080*2卡),由于基础镜像中没有2.10.0版本,选miniconda3的基础环境 创建虚拟环境:conda create --name xxx python3.8(环境名)激活虚拟环境:conda activate x…...

【Rust】常见集合

目录 思维导图 一、Rust常用集合 1. Rust标准库中的集合概述 2. 常用集合类型 2.1 向量(Vector) 2.2 字符串(String) 2.3 哈希映射(Hash Map) 二、向量(Vec) 1. 向量的概述…...

SpiderFlow平台v0.5.0之引入selenium插件

引入selenium插件 首先到码云下载插件点击下载​编辑到本地并导入到工作空间或安装到maven库在spider-flow/spider-flow-web/pom.xml中引入插件 <!-- 引入selenium插件 --> <dependency><groupId>org.spiderflow</groupId><artifactId>spider-…...

git push命令

git push 常用命令 1. 拉取远程仓库最新数据 使用 git fetch git fetch作用&#xff1a; 获取远程仓库的最新数据&#xff08;包括分支、标签等&#xff09;&#xff0c;但不会修改本地工作目录。 结果&#xff1a; 仅更新远程分支&#xff08;如 origin/main&#xff09;的…...

洛谷P1161

开灯 - 洛谷 代码区&#xff1a; #include<stdio.h> int ans[2000005]{1}; //1为关 int main(){int n;scanf("%d",&n);double arry[n][2];//此处最好用双精度浮点数&#xff0c;单精度浮点数的精确度够高对于此题来说&#xff0c;第一次没全对就是因为精度…...

Python脚本自动发送电子邮件

要编写一个Python脚本来自动发送电子邮件&#xff0c;你可以使用smtplib库来处理SMTP协议&#xff0c;以及email库来构建邮件内容。 安装必要的库 通常情况下&#xff0c;smtplib和email库是Python标准库的一部分&#xff0c;因此不需要额外安装。如果你使用的是较旧的Python版…...

vscode的安装与使用

下载 地址&#xff1a;https://code.visualstudio.com/ 安装 修改安装路径&#xff08;不要有中文&#xff09; 点击下一步&#xff0c;创建桌面快捷方式&#xff0c;等待安装 安装中文插件 可以根据自己的需要安装python和Jupyter插件...

sparkRDD教程之必会的题目

1.前期准备 &#xff08;1&#xff09;看看上一期的博客&#xff0c;最好跟着上一期的博客把sparkRDD的基本命令给熟练掌握后&#xff0c;再来做这篇文章的任务。 上一期的博客&#xff1a;sparkRDD教程之基本命令-CSDN博客 &#xff08;2&#xff09;新建文件task6.scala …...

Unity 2d描边基于SpriteRender,高性能的描边解决方案

目标 以Unity默认渲染管线为例&#xff0c;打造不需要图片内边距&#xff0c;描边平滑&#xff0c;高性能的描边解决方案 前言 在2d游戏中经常需要给2d对象添加描边&#xff0c;来突出强调2d对象 当你去网上查找2d描边shader&#xff0c;移植到项目里面&#xff0c;大概率会…...

信凯科技业绩波动明显:毛利率远弱行业,资产负债率偏高

《港湾商业观察》施子夫 1月8日&#xff0c;深交所官网显示&#xff0c;浙江信凯科技集团股份有限公司&#xff08;以下简称“信凯科技”&#xff09;主板IPO提交注册。 自2022年递交上市申请&#xff0c;信凯科技的IPO之路已走过两年光景&#xff0c;尽管提交注册&#xff0…...

js基础---var与let的区别以及const的使用

js基础—var与let的区别以及const的使用 var与let的区别 在较旧的JavaScript&#xff0c;使用关键字var来声明变量&#xff0c;而不是let。var现在开发中一般不再使用它&#xff0c;只是我们可能再老版程序中看到它。let的出现为了解决var的一些问题。 var 声明存在以下三种问…...

用css和html制作太极图

目录 css相关参数介绍 边距 边框 伪元素选择器 太极图案例实现、 代码 效果 css相关参数介绍 边距 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}div{width: …...

OJ12:160. 相交链表

目录 题目思路分析代码展示 题目 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 示例 1&#xff1a; 输入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,…...

软件工程和项目管理领域 - CMMI 极简理解

CMMI 概述 CMMI 全称为 Capability Maturity Model Integration&#xff0c;即能力成熟度模型集成 CMMI 是由美国卡内基梅隆大学软件工程研究所&#xff08;SEI&#xff09;开发的一套综合性管理模型 CMMI 是一种用于评估和改进组织在软件开发和维护方面过程能力的国际标准 …...

C# 线程基础之 线程同步

线程同步的手段很多 lock 是通过内存索引块 0 1 切换 进行互斥的实现 互斥量 信号量 事件消息 其实意思就是 一个 标记量 通过这个标记 来进行类似的互斥手段 具体方式的分析 代码在后 1.互斥量 Mutex 作用 非常类似lock 一个Mutex 名称来代替 lock的引用对象 2.信号量 Semaph…...

[c语言日寄]c语言也有“回”字的多种写法——整数交换的三种方式

大家好啊&#xff0c;在今天的快乐刷题中&#xff0c;我们遇到了这样一道题目&#xff1a; 题目 写出 三种不同方式的 交换两个整数变量的 函数 交换变量的三种解法 常规方式 想要交换两个变量很简单&#xff0c;第一种方式就是新建一个临时变量&#xff0c;具体流程如下&…...

c++入门:函数实参形参傻傻分不清?如何改变实参!

值传递是 C 中最基本的参数传递方式。它的核心意思是&#xff1a;当你把一个变量作为参数传给函数时&#xff0c;函数得到的是这个变量的一个副本&#xff0c;而不是变量本身。所以在函数内部修改这个副本&#xff0c;外部的原变量纹丝不动。&#x1f4e6; 举个生活例子你把一张…...

终极删除命令(强制解锁 + 删文件 + 删目录)

&#x1f525; 终极删除命令&#xff08;强制解锁 删文件 删目录&#xff09;前言 二、使用步骤 // “E:\Documents\HBuilderProjects\个人简历\tmpim” 是想要删除的文件夹 ① 解锁所有被占用的文件&#xff08;解决 “正在使用”&#xff09; cmd taskkill /f /im HBuilde…...

2025届学术党必备的十大降重复率平台推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 若维普系统检测出高AI生成内容&#xff0c;那么可采用如下方法来降低AI率&#xff1a;将长句…...

如何快速修复ROG游戏本色彩配置文件丢失问题:G-Helper终极指南

如何快速修复ROG游戏本色彩配置文件丢失问题&#xff1a;G-Helper终极指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, S…...

用OpenPCDet跑通Nuscenes-mini:小显存福音与多模态数据处理的实战笔记

用OpenPCDet跑通Nuscenes-mini&#xff1a;小显存福音与多模态数据处理的实战笔记 在3D目标检测领域&#xff0c;Nuscenes数据集因其丰富的多模态数据&#xff08;LiDAR、摄像头、雷达&#xff09;和复杂的城市场景而备受研究者青睐。但对于大多数个人开发者和学生来说&#x…...

建议收藏!我开发了一个免费无限制的AI绘画公益站!

大家好&#xff0c;最近我做了一个小网站&#xff0c;叫 Dreamify &#xff0c;一个可以让你随便玩AI画画的小工具。不收费、不限次数、不用登录&#xff0c;想画就画&#xff0c;全凭兴趣。 今天就想简单分享一下它&#xff0c;顺便邀请你也来玩玩看。 &#x1f3a8; 为什么…...

终极指南:Spinnaker资源生命周期管理的完整流程与最佳实践

终极指南&#xff1a;Spinnaker资源生命周期管理的完整流程与最佳实践 【免费下载链接】spinnaker Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. 项目地址: https://gitcode.…...

2026届必备的六大AI写作助手推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在现在这个人工智能生成内容已经被广泛运用的当下&#xff0c;降低AIGC检测概率的工具顺势冒…...

科技企业如何利用智能手段提升研发效率?

观点作者&#xff1a;科易网-国家科技成果转化&#xff08;厦门&#xff09;示范基地 现状概述&#xff1a;传统研发模式的瓶颈与挑战 在全球科技创新加速迭代的背景下&#xff0c;科技企业面临的核心挑战之一是如何提升研发效率。传统研发模式往往存在以下痛点&#xff1a; 信…...

告别繁琐配置:用快马ai一键生成windows版openclaw自动化安装脚本原型

最近在折腾一个开源工具OpenClaw&#xff0c;发现它在Windows下的安装过程真是让人头大——各种依赖检查、环境变量配置&#xff0c;手动操作一不小心就出错。作为一个懒人程序员&#xff0c;我决定用Python写个自动化安装脚本&#xff0c;结果发现用InsCode(快马)平台的AI辅助…...