QCC300x笔记(4) -- 蓝牙地址的规则

2023-11-12

哈喽大家好,这是该系列博文的第四篇~ 篇~



<<【系列博文索引】快速通道 >>

蓝牙地址分为三部分:

LAP(24位地址低端部分)、UAP(8位地址高端部分)和NAP(16位无意义地址部分)。

其中,NAP和UAP是生产厂商的唯一标识码,必须由蓝牙权威部门分配给不同的厂商。

而LAP是由厂商内部自由分配。

以下是CSR官方文档有关蓝牙地址的描述:

The local device's Bluetooth address.  This should be unique to this device.  It is allocated during manufacturing.
The type bdaddr can be viewed as a uint16[4] array:

    1st uint16:  The top 8 bits of the LAP are in the bottom 8 bits of this word. The top 8 bits of this word must be zero.
    2nd uint16: The lower 16 bits of the LAP
    3rd uint16:  The 8-bit UAP is in the bottom 8 bits of this word. The top 8 bits of this word must be zero.
    4th uint16:  16-bit NAP

For example, the Bluetooth address 0002  5b  00a5a5 is encoded as 0000, a5a5, 005b, 0002.


The default value of this key is one of CSR's legal addresses: 0002  5b  00a5a5.
As stated in the Bluetooth specification, LAP values from 9e8b00 up to, and including, 9e8b3f must not be used as this range is reserved for inquiry access codes (IACs).

Bluetooth module manufacturers must obtain their own block of addresses from the Bluetooth SIG/IEEE. If CSR's experience is typical, these authorities define the NAP and UAP, allowing manufacturers to set the 24-bit LAP.

对于某一种型号的手机或者设备,所有个体的NAP、UAP是固定的,可变的是LAP。

LAP共有24位,一般来说厂家在制造时会从0开始分配地址直到2的24次方,以保证个体之间地址的区别。

但是当产品数量太多,导致2的24次方都用完之后,或者在写地址的时候出了问题,就会出现蓝牙地址重复使用的情况, 但是概率非常小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QCC300x笔记(4) -- 蓝牙地址的规则 的相关文章

  • QCC300x笔记(9) -- 从一个客户问题说说传统蓝牙的AVRCP

    哈喽大家好 这是该系列博文的第九篇 篇 lt lt 系列博文索引 快速通道 gt gt 写在前面 客户反馈连接苹果手机的蓝牙 播放音乐时 会频繁上报歌词 1 客户使用苹果手机 播放音乐后会频繁上报歌词 一句歌词上报一次 通过ID3事件在AL
  • QCC300x笔记(6) -- QCC3007的OTA流程梳理

    哈喽大家好 这是该系列博文的第六篇 篇 lt lt 系列博文索引 快速通道 gt gt 写在前面 QCC300x支持OTA功能 官方提供了详细的文档说明 按照文档即可升级成功 下面是对流程的简单梳理 可参考 文档和APP下载 1 生产APP
  • vue学习笔记(三)

    1 vue开发存在SEO问题 前端开发采用vue开发后是单页面 单页面里面 前后端分离 渲染过程是js写的 在js调用接口返回数据之前 页面已经被打开了 实际上就是空白页面 这个时候右键点击查看源代码 实际上是都看不到内容的 对SEO不太有
  • QCC300x笔记(5) -- 外部Flash的读写操作

    哈喽大家好 这是该系列博文的第五篇 篇 lt lt 系列博文索引 快速通道 gt 1 QCC300X 外部Flash的读写 QCC300x是使用外部Flash片子 使用外部flash的好处就是成本下来了 大家都知道 CSR的片子一直是很贵的
  • Compressed Sparse Column format(CSC)

    CSR Compressed Sparse Row format 和CSC Compressed Spare Column format 都是一种稀疏矩阵的存储格式 这里分别给出实例 假设有如下矩阵 1360
  • QCC300x笔记(3) -- QCC3007开发调试经验

    哈喽大家好 这是该系列博文的第三篇 篇 lt lt 系列博文索引 快速通道 gt gt 写在前面 这篇博客主要记录 在使用QCC300x平台中所遇到的问题以及解决方法 会不定时更新 1 使用的堆栈空间大小超出或者全局变量超出 会报以下错误
  • 配置中的 req_extensions 和命令行上的 -extensions 有什么区别?

    示例 openssl root ca 配置来自OpenSSL 食谱定义如下 p40 req req extensions ca ext ca ext 稍后 p43 生成根 ca 密钥 然后生成根 ca 自签名证书 openssl req n
  • 使用 AndroidKeyStoreProvider 生成证书签名请求的最佳方法是什么?

    I read 本文 它说如何生成KeyPair 但是它没有指定如何根据生成的密钥生成证书签名请求 根据我的研究 要在 Java 中生成 CSR 网络上的示例通常使用该包sun 或 BouncyCastle 库 似乎没有办法生成符合标准的 C
  • 从钥匙串中检索 SecKey

    我正在尝试升级我从中获得的代码这个答案用于生成 CSR 从 Swift 2 到 Swift 3 我已升级大部分代码 但原始答案的实用程序块中的以下代码失败并出现错误 init 不可用 使用 withMemoryRebound to capa
  • 在 Python 中生成 CSR

    我正在尝试在 Python 中生成 CSR 而不使用 OpenSSL 如果有人能指出正确的方向 我将非常感激 我假设你不想使用命令行 openssl 本身 Python 库就可以了 这是我编写的用于创建 CSR 的辅助函数 它从生成的密钥对
  • 使用 Pkcs10CertificationRequest 获取主题备用名称

    我目前能够解码 CSR 的值 请求的扩展除外 特别是X509v3 Subject Alternative Name 这是相关部分 我的 DecodeCSR 字符串 csr public void DecodeCsr string csrSt
  • 证书注册流程是怎样的?

    我正在寻找注册证书的程序 我搜索了很多但没有找到好的答案 到目前为止 我明白首先我必须生成一个密钥存储 用于创建公钥和私钥 然后私钥应保持私有 公钥与其他信息 如名称和组织 一起发送到 CA 然后CA会生成一些东西并返回给我一些包含公钥和信
  • 与 BouncyCastle 签署 CSR

    过去几天我一直在寻找解决我的问题的方法 但找不到任何东西 我的代码中遗漏了一些东西 但我不知道是什么 不知何故 当我签署我的 PKCS 10 时 链就断了 基本上我有一个服务器和一个客户端 我想让客户端向服务器发送 CSR 然后服务器对其进
  • 是否可以在没有 CSR 并使用旧私钥的情况下颁发证书

    我对使用 WHM cPanel 进行现有 Comodo 扩展验证证书的 SSL 续订过程中的某些内容感到困惑 我相信 Comodo 已向我们颁发了替换证书 而无需为他们提交 CSR 我说 我相信 是因为有 3 个人可以访问该服务器的 WHM
  • 为多个域设置 httpS

    我需要为多个域名 xxxx com xxxx net 设置 https 使用单个通用证书 我们购买证书的 CA 要求创建证书签名请求 CSR 但是当我使用 openssl 生成它时 它只要求一个名称 如何为多个域制定一个 CSR 避免使用多
  • 在钥匙串访问中生成证书签名请求:使用哪个私钥?

    我想知道 Mac OS X Snow Leopard 现在的 Lion 中使用哪个私钥 Keychain Access 每当我使用该应用程序创建 CSR 时 它甚至不要求使用私钥 那么它使用哪一个呢 我可以想象它使用了所选的一个 if您已在
  • 将 CSR 专有名称字段作为参数传递给 OpenSSL

    如何在不需要用户输入的情况下生成 CSR 例如从应用程序内生成 CSR 通过 subj 参数传递主题 openssl req new key
  • 在 Objective-C 中以编程方式创建 .pem 文件?

    我正在尝试使用 iPhone 应用程序中的 Objective C 和 OpenSSL 库以编程方式从证书签名请求创建 PEM 文件 我按照 Adria Navarro 对这个问题的回答生成了 CSR 类型为 X509 REQ 使用钥匙串存
  • 在 PHP 中生成 SAN CSR

    我目前正在编写一个脚本 通过 Web 界面生成 CSR 以便提交以生成证书 我当前的问题是我想生成 SAN 证书 但找不到有关如何添加subjectAlternateName到生成的证书请求中 我当前的代码是 private key ope
  • 如何以编程方式创建证书签名请求 (CSR)?

    如何用C实现呢 openssl req new key cert key out cert csr openssl x509 req in cert csr CA rootCA crt CAkey rootCA key CAcreatese

随机推荐

  • 今日面试题-2022-2-7

    Java序列化 反序列化 Java序列化就是指将对象转换为字节序列的过程 反序列化是指将字节序列转换成目标对象的过程 什么情况需要Java序列化 当Java对象需要在网络上传输或者持久化存储到文件中时 序列化的实现 让类实现Serializ
  • mysql 所有列_mysql怎么查询表中所有列(字段)?

    mysql查询表中所有列的方法 1 通过 查询表的所有列 语法 SELECT FROM 表名 2 通过列出表的所有字段来查询表的所有列 语法 SELECT 字段列表 FROM 表名 MySQL 数据表是由行和列构成的 通常把表的 列 称为字
  • 使用sqlite时遇到的错误 read-only

    在模拟器上运行没有问题 在真机上报如下错误 Attempt to add read only file at path file localhost var mobile Applications A80208B7 36C8 4CD0 94
  • 【BZOJ3309】DZY Loves Math 解题报告

    BZOJ3309 DZY Loves Math Description 对于正整数 n 定义 f n 为 n 所含质因子的最大幂指数 例如 f 1960 f 2 3 5 1 7 2 3 f 10007 1 f 1 0 给定正整数 a b 求
  • 可以单机运行的ChatGLM-6B发布

    清华技术成果转化的公司智谱 AI 开源了 GLM 系列模型 ChatGLM 6B 这是一个支持中英双语的对话语言模型 基于 General Language Model GLM 架构 具有 62 亿参数 结合模型量化技术 用户可以在消费级的
  • Qt 学习:comboBox编程时使用currentIndexChanged老是出现 assert failure错误

    Qt5 学习新手 所以用comboBox的 indexChanged槽时不知为何总是出现 ASSERT failure 错误 在程序中由于还使用了QList的对象 起初以为是它出了问题 反复检查也没有 后来在网上搜了半天才发现原来是在另外一
  • 1.PCB设计流程

    1 设计流程 笔记参考了郭天祥的PCB学习视频 1 总流程 SCH设计 SCH仿真 生成网表 PCB设计 信号完整性分析 低速信号即低于50Mhz的信号 不需要信号完整性分析 文件存储及打印 PS 加工时要注意加工厂的制作能力 比如最小线宽
  • itunes备份和恢复速度一样吗_Mac技巧分享:如何从加密的iTunes备份中恢复数据?...

    为了增强iTunes备份的安全性 您可以在iTunes中选中 加密iPhone备份 选项 但是 如果您忘记 丢失或忘记了备份密码 则在取回密码之前 不能取消选中 加密iPhone备份 选项 现在 我们的数据恢复软件 PhoneRescue可
  • 经典算法-动态规划

    一 基本概念 动态规划过程是 每次决策依赖于当前状态 又随即引起状态的转移 一个决策序列就是在变化的状态中产生出来的 所以 这种多阶段最优化决策解决问题的过程就称为动态规划 二 基本思想与策略 基本思想与分治法类似 也是将待求解的问题分解为
  • c# datagridview合并单元格

    region 合并单元格的测试 private int nextrow null private int nextcol null private void dataGridView1 CellFormatting object sende
  • 程序员情感三部曲之程序员如何找女朋友

    我的公众号 码农之屋 id Spider1818 分享的内容包括但不限于 Linux 网络 云计算虚拟化 容器Docker OpenStack Kubernetes SDN OVS DPDK Go Python C C 编程技术等内容 欢迎
  • mysqldump备份恢复数据库

    备份单库 单表 mysqldump u username p dbname tbname gt filename sql 备份单库多表 mysqldump u username p dbname tbname1 tbname2 gt fil
  • python二级题库(百分之九十原题) 刷题软件推荐 第二套

    目录 一 选择题 二 基本操作 三 简单应用 四 综合应用 刷题软件 文末有联系方式 注明来意 一 选择题 1 下列叙述中正确的是 A 在栈中 栈中元素随栈底指针与栈顶指针的变化而动态变化 B 在栈中 栈顶指针不变 栈中元素随栈底指针的变化
  • GeoServer系列-geojson保存mongodb乱码问题

    前言 基于前一篇文章GeoServer系列 通过mongodb发布geojson数据 业务上可将常见的地理文件统一为geojson保存到mongodb 方便统一维护和发布geoserver 这一篇将解决mongodb中属性中文乱码问题 1
  • python关于uwsgi

    一 定义 1 uWSGI定义 uWSGI是一个web服务器 实现了WSGI协议 uwsgi协议 http协议等 uWSGI的主要特点是 超快的性能 c语言编写 低内存占用 多app管理 详尽的日志功能 可以用来分析app的性能和瓶颈 高度可
  • 项目计划管理 (包含WBS 分解图、甘特图)

    WBS表 工作分解表 工作分解表结构是以交付成果为导向的项目各组成部分的一种分解结构 它对项目的总范围进行组织分解和定义 工作包是WBS的最底层元素 一般的工作包是最小 可交付成果 创建WBS时需要满足以下几点基本要求 1 某项任务应该在W
  • 基于轨迹数据的人口流向分析技术,精准病毒传播追踪

    2019年12月 我国出现了新型冠状病毒引发的多起病例 全国逐渐开启疫情防疫监控 严重地区甚至实施封闭管理 而此次疫情正好恰逢春运期间 大规模的跨地区人口流动会助长病毒传播 甚至传染到全球范围 因此 科学管理人口流动成为疫情防控关键 基于疫
  • paddledetection在window使用cpu快速上手 & 在cpu端训练自己的VOC类型数据集

    使用cpu快速上手 配置文件 配置文件在configs文件夹下 包含了基本上所有常见模型的配置文件 以yolov3 mobilenet v1 roadsign yml为例 BASE datasets roadsign voc yml run
  • mysql完全卸载方法

    首先注意 一台机器上可以装不同的mysql实例 可以装不同版本的mysql 所以如果非十分必要 可不必对mysql进行完全卸载 下面给出MySQL的完全卸载方法 1 运行cmd 执行net start 查看与mysql相关的服务名称 并记录
  • QCC300x笔记(4) -- 蓝牙地址的规则

    哈喽大家好 这是该系列博文的第四篇 篇 lt lt 系列博文索引 快速通道 gt gt 蓝牙地址分为三部分 LAP 24位地址低端部分 UAP 8位地址高端部分 和NAP 16位无意义地址部分 其中 NAP和UAP是生产厂商的唯一标识码 必