gpt4 book ai didi

bluetooth - 如何将蓝牙 16 位服务 UUID 转换为 128 位 UUID?

转载 作者:行者123 更新时间:2023-12-04 00:10:59 27 4
gpt4 key购买 nike

全部 assigned services仅说明 16 位 UUID。如果必须以该格式指定服务,如何确定 128 位对应项?

来自 Service Discovery Protocol Overview我知道 128 位 UUID 是基于所谓的“BASE UUID”,那里也有说明:

00000000-0000-1000-8000-00805F9B34FB

但是如何从 16 位对应物创建 128 位 UUID?可能必须替换一些 0 数字,但是替换哪个以及如何替换?

最佳答案

这可以在蓝牙 4.0 核心规范 中找到。卷。 3 - 核心系统 .见 the list of adopted specs .

B部分 ,涵盖服务发现协议(protocol) (SDP) 下第 2.5.1 章“搜索服务/UUID”将解释如何计算 UUID。

The full 128-bit value of a 16-bit or 32-bit UUID may be computed by a simple arithmetic operation.

128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID
128_bit_value = 32_bit_value * 2^96 + Bluetooth_Base_UUID

A 16-bit UUID may be converted to 32-bit UUID format by zero-extending the 16-bit value to 32-bits. An equivalent method is to add the 16-bit UUID value to a zero-valued 32-bit UUID.



请注意,在另一部分中,有一个方便的助记符:

Or, to put it more simply, the 16-bit Attribute UUID replaces the x’s in the follow- ing:

0000xxxx-0000-1000-8000-00805F9B34FB

In addition, the 32-bit Attribute UUID replaces the x's in the following:

xxxxxxxx-0000-1000-8000-00805F9B34FB


相同的方程式适用于属性 UUID。见 F部分 ,涵盖 属性协议(protocol) (ATT) 下第3.2.1章“协议(protocol)要求/基本概念” . 32 位属性 UUID 首先在蓝牙核心 4.1 规范中指定。

关于bluetooth - 如何将蓝牙 16 位服务 UUID 转换为 128 位 UUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36212020/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com