mtu蓝牙_nRF52832 改变ATT_MTU提高蓝牙数据发送速率(nRF5_SDK_14.2.0)
时间: 2023-08-03 16:03:39 浏览: 124
BLE实验:蓝牙串口.zip_NRF52832_bluetooth_nrf 蓝牙串口_specificav3_try7kb
在nRF5_SDK_14.2.0中,可以通过以下步骤改变ATT_MTU来提高蓝牙数据发送速率:
1. 打开SDK中的ble_gatts.c文件,找到以下代码:
```c
static uint16_t gatts_att_mtu_default_get(void)
{
return BLE_GATT_ATT_MTU_DEFAULT;
}
```
2. 将BLE_GATT_ATT_MTU_DEFAULT的值改为你想要的MTU大小,例如:
```c
static uint16_t gatts_att_mtu_default_get(void)
{
return 247;
}
```
3. 在你的应用程序中调用sd_ble_cfg_set()函数来设置ATT_MTU大小,例如:
```c
ble_cfg_t ble_cfg;
memset(&ble_cfg, 0, sizeof(ble_cfg));
ble_cfg.conn_cfg.conn_cfg_tag = APP_BLE_CONN_CFG_TAG;
ble_cfg.conn_cfg.params.gatt_conn_cfg.att_mtu = 247; //设置MTU大小为247
ret_code_t err_code = sd_ble_cfg_set(BLE_CONN_CFG_GATT, &ble_cfg, ram_start);
APP_ERROR_CHECK(err_code);
```
通过以上步骤,你可以成功改变ATT_MTU大小,从而提高蓝牙数据发送速率。需要注意的是,MTU大小的增加可能会导致蓝牙连接稳定性下降,因此需要根据实际情况进行调整。
阅读全文