# GATT 配置参数

要配置 GATT 服务器和客户端功能，使用服务器、客户端和扫描参数。

## GATT 服务器配置参数

用于[执行低功耗蓝牙 GATT 服务器功能](https://docs.qualcomm.com/doc/80-70018-13SC/topic/perform_ble_gatt_server_functions.html#perform-ble-gatt-server-functions)的两种类型服务配置参数是：广播者和服务器参数。这些配置参数分别通过 `AdvertiserConfigFile.txt` 和 `ServerConfigFile.txt` 文件进行管理。

`AdvertiserConfigFile.txt`

下表列出了 `AdvertiserConfigFile.txt` 文件中每个广播参数的可能值：

| 参数 | 值 |
| --- | --- |
| `TxPower` | **传统：**<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">0</span></code> ADVERTISE_TX_POWER_ULTRA_LOW(-21)</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">1</span></code> ADVERTISE_TX_POWER_LOW(-15)</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">2</span></code> ADVERTISE_TX_POWER_MEDIUM(-7)</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">3</span></code> ADVERTISE_TX_POWER_HIGH(1)</p></li><br>> </ul><br>> <br>> **扩展：**<br>> <br>> <ul class="simple"><br>> <li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：TX_POWER_ULTRA_LOW =-21</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: TX_POWER_LOW =-15</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：TX_POWER_MEDIUM =-7</p></li><br>> <li><p><code class="docutils literal notranslate"><span class="pre">3</span></code>: TX_POWER_HIGH = 1</p></li><br>> </ul> |
| `LegacyFlag` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：使用扩展广播</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：使用传统广播</p></li><br></ul> |
| `PeriodicFlag` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：禁用周期性广播</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：启用定期广播</p></li><br></ul> |
| `ConnectableFlag` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：启用不可连接的广播</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：启用可连接的广播</p></li><br></ul> |
| `ScannableFlag` | <ul><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：启用不可扫描的广播</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：启用可扫描的广播</p><br><p>此值仅适用于扩展广播。对于传统广播，始终将其设置为 <code class="docutils literal notranslate"><span class="pre">true</span></code>。</p><br></li><br></ul> |
| `AnonymousFlag` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：在所有 PDU 中使用广播地址</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 不要在 PDU 中使用广播者地址</p></li><br></ul> |
| `IncludePower` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：在扩展标头中包含 Tx 功率</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：在扩展标头中包含 Tx 功率</p></li><br></ul> |
| `PrimaryPhy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 1 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">3</span></code>：低功耗 (LE) 编码 PHY</p></li><br></ul> |
| `SecondaryPhy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 1 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>: 2 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">3</span></code>：LE coded PHY</p></li><br></ul> |
| `Interval` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">160</span></code>: 最小广播间隔 (100 ms)</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">16777215</span></code>: 最大广播间隔 (10485 s)</p></li><br></ul> |
| `TimeOutLegacy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：最小可能值</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">180000</span></code>：最大可能超时值（以毫秒为单位）</p></li><br></ul> |
| `AdvertiseMode` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：低功耗模式</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：平衡模式</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：低延迟模式（用于传统广播者）</p></li><br></ul><br><br>根据广播模式选择广播间隔，如下所示：<br><br><ul class="simple"><br><li><p>低功率模式：1 s 广播间隔</p></li><br><li><p>平衡模式：250 ms 广播间隔</p></li><br><li><p>低延迟模式：100 ms 广播间隔</p></li><br></ul> |
| `BLEBtName` | 特定广播者集的显示名称。 |

以下代码段显示了广播集的示例：

*******************AdvertisingSet1***************
    TxPower:1
    LegacyFlag:1
    PeriodicFlag:0
    ConnectableFlag:1
    ScannableFlag:1
    AnonymousFlag:0
    IncludePower:1
    PrimaryPhy:1
    SecondaryPhy:1
    Interval: 320
    TimeOutLegacy:0
    AdvertiseMode:1
    BLEBtName:Adv1
    Copy to clipboard

`ServerConfigFile.txt`

下表列出了 `ServerConfigFile.txt` 文件中每个服务参数的可能值：

| 参数 | 说明 |
| --- | --- |
| `service uuid` | 服务 ID。一个服务器可以有多个服务。 |
| `characteristic uuid` | 特征 ID。一个服务可以有多个特征。特征可以具有属性和权限。 |
| `characteristic properties` | 特征的属性。<br><br><br><br>> <br>> <br>> 根据需要使用逻辑或参数将以下特征属性组合在一起：<br>> <br>> <br>> PROPERTY_BROADCAST = 0x01;<br>>     PROPERTY_READ = 0x02;<br>>     PROPERTY_WRITE_NO_RESPONSE = 0x04;<br>>     PROPERTY_WRITE = 0x08;<br>>     PROPERTY_NOTIFY = 0x10;<br>>     PROPERTY_INDICATE = 0x20;<br>>     PROPERTY_SIGNED_WRITE = 0x40;<br>>     PROPERTY_EXTENDED_PROPS = 0x80;<br>>     Copy to clipboard |
| `characteristic permissions` | 特征的权限。<br><br><br><br>> <br>> <br>> 根据需要使用逻辑或参数将以下特征权限组合在一起：<br>> <br>> <br>> PERMISSION_READ = 0x01;<br>>     PERMISSION_READ_ENCRYPTED = 0x02;<br>>     PERMISSION_READ_ENCRYPTED_MITM = 0x04;<br>>     PERMISSION_WRITE = 0x10;<br>>     PERMISSION_WRITE_ENCRYPTED = 0x20;<br>>     PERMISSION_WRITE_ENCRYPTED_MITM = 0x40;<br>>     PERMISSION_WRITE_SIGNED = 0x80;<br>>     PERMISSION_WRITE_SIGNED_MITM = 0x100;<br>>     Copy to clipboard |
| `descriptor uuid` | 描述符 ID。一个特征可以有多个描述符。描述符可以具有权限。 |
| `descriptor permissions` | 描述符的权限。 |

以下代码段显示了 GATT 服务器中的服务示例：

**************Server1*************
    Service1:[service uuid],[characteristic uuid],[characteristic properties],[characteristic permissions],[descriptor uuid],[descriptor permissions]
    Service1:00001200-0000-1000-8000-00805f9b34fb, 00001101-0000-1000-8000-00805f9b34fb,26,31,00002a06-0000-1000-8000-00805f9b34fb,17
    ManufacturerId:0
    ManufacturerData:AAAA
    **************End of service*************
    Copy to clipboard

## GATT 客户端配置参数

下表列出了用于配置 GATT 客户端的连接参数：

| 参数 | 值 | 备注 |
| --- | --- | --- |
| `isAuto` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：直接连接</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：对远程备可用后，就会自动连接</p></li><br></ul> | 如果此参数设置为 `1`，确保设备已绑定以进行自动连接。 |
| `isOpportunistic` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：直接连接</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 如果已根据地址和传输连接，则提供句柄</p></li><br></ul> | 如果此参数设置为 `1`，则不会启动连接（如果尚未存在）。 |
| `Tx_Phy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 1 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>: 2 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">4</span></code>：LE coded PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">7</span></code>：所有 PHY</p></li><br></ul> | ̶̶ |
| `Rx_Phy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 1 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>: 2 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">4</span></code>：LE coded PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">7</span></code>：所有 PHY</p></li><br></ul> | ̶̶ |
| `Phy_Opt:00` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：主机首选编码方案</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：使用 S = 2 (500 Kbps) 编码方案</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：使用 S = 8 (125 Kbps) 编码方案。仅当 PHY 是 LE 编码时才使用它。</p></li><br></ul> | ̶̶ |
| `Mtu_Size` | <ul class="simple"><br><li><p>最小值为 <code class="docutils literal notranslate"><span class="pre">23</span></code>。</p></li><br><li><p>最大值为 <code class="docutils literal notranslate"><span class="pre">512</span></code>。</p></li><br></ul> | ̶̶ |

## 扫描设置

下表列出了用于配置 GATT 客户端的扫描设置：

| 扫描类型 | 值 | 备注 |
| --- | --- | --- |
| `1: Scan_mode` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">-1</span></code>：Opportunistic 模式</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：低功耗模式</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：平衡模式</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：低延迟模式</p></li><br></ul><br><br>**常规扫描：**<br><br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：扫描窗口 (512 ms)；扫描间隔 (5120 ms)</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：扫描窗口 (1024 ms)；扫描间隔 (4096 ms)</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：扫描窗口 (4096 ms)；扫描间隔 (4096 ms)</p></li><br></ul><br><br>**批量扫描：**<br><br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：扫描窗口 (1500 ms)；扫描间隔 (150.000 ms)</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：扫描窗口 (1500 ms)；扫描间隔 (15.000 ms)</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：扫描窗口 (1500 ms)；扫描间隔 (5000 ms)</p></li><br></ul> | ̶̶ |
| `2: CallbackType` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：启动对所有匹配广播的回调</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：启动对第一个匹配广播的回调</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">4</span></code>：当先前检测到的设备停止发送广播时，启动回调。</p></li><br></ul> | ̶̶ |
| `3: ResultType` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：提供包含设备、RSSI、广播数据、扫描响应和扫描时间戳的完整扫描结果。</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：提供具有设备、RSSI 和扫描时间戳的扫描结果。</p></li><br></ul> | ̶̶ |
| `4: ScanPhy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>: 1 M-PHY</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">3</span></code>：LE coded PHY仅将其用于扩展扫描。</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">255</span></code>：所有支持的 PHY</p></li><br></ul> | 目前，它在应用程序代码中被硬编码为 255。 |
| `5: Legacy` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">True</span></code>：传统扫描</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">False</span></code>：扩展扫描</p></li><br></ul> | ̶̶ |
| `6: ReportDelay` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">0</span></code>：立即交付报告</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">&gt;0</span></code>：累积扫描结果，并在上述延迟（以毫秒为单位）或缓冲区已满（批量扫描）后交付它们。</p></li><br></ul> | ̶̶ |
| `7: MatchMode` | <ul><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：高性能匹配模式。即使信号强度微弱，硬件也能找到匹配项。</p><br><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：持久性匹配模式。它需要更高的信号强度阈值。</p><br></li><br></ul> | ̶̶ |
| `8: NumOfAdvMatches` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">1</span></code>：为每个过滤器匹配一个广播</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">2</span></code>：根据硬件资源的可用性匹配少量广播</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">3</span></code>：匹配硬件允许的最大数量的广播</p></li><br></ul> | ̶̶ |

Last Published: Apr 30, 2025

[Previous Topic
执行低功耗蓝牙 GATT 客户端功能](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/perform_ble_gatt_client_functions.md) [Next Topic
高级音频分发 Profile (Advanced Audio Distribution Profile)](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/set-up-a2dp.md)