当此手机通过spp与GW3323通信时,mtu=300;当此手机通过ble与GW3323通信时,mtu=200。
四、蓝牙类别图标
手机设置中连接蓝牙时,可以看到蓝牙名称前有耳机或打印机的图标。
注:安卓手机可以看到图标,苹果手机中看不到。
蓝牙类型图标可以通过更改bt.c文件中的bt_get_class_of_device返回值进行修改。
//Custom Bluetooth category icon, select as needed
u32 bt_get_class_of_device(void)
{
if(cfg_bt_work_mode == MODE_BQB_RF_BREDR) {
return 0x0000;
}
// return 0x0025c0; //GamePad - Game handle
// return 0x002540; //Keyboard - Keyboard icon, Android with power display, IOS without power display. All IOS can be connected to HID for taking pictures.
// return 0x240418; //HeadPhone - Headphone icon, Android and IOS are both charged.
// return 0x240404; //WearableHeadset - Headphone icon, Android and IOS are both charged. (used by default)
return 0x040680; //printer - Printer icon
}
蓝牙类别参考文件:https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Assigned_Numbers/out/en/Assigned_Numbers.pdf?v=1716361576404
五、BLE的服务与特征值
GW3323可以有多个服务,一个服务可以有多个特征值。
GW3323通过app.c中ble_gatts_service_add可添加服务,ble_gatts_characteristic_add添加特征值。
ble_gatts_characteristic_add最后一个参数,表示收到数据后执行的函数;
发送函数ble_tx_notify(gatts_battery_base.att_index, buffer, len)的第一个参数表示通过哪个属性句柄把buffer发送出去;