(1) 尝试在手机端使能 indicate 后, 返回若干条信息, 以及在程序对蓝牙命令处理后返回若干条消息, 但是发现只有第一条消息能成功接受, 其他消息则无法接受, 实验结果下图所示.
(2) 由于从手机 APP 往蓝牙发送的数据较长, 手机和蓝牙交换 MTU 后, 发现 W801 的 MTU 最大为 256, 是否能够通过修改程序的中某些设置来提升 W801 的 MTU?
你进入 tls_ble_server_demo_api_send_msg 函数, 做如下修改:
int tls_ble_server_demo_api_send_msg (uint8_t *data, int data_len)
{
int rc;
struct os_mbuf *om;
//TLS_BT_APPL_TRACE_DEBUG ("### %s len=%d\r\n", __FUNCTION__, data_len) ;
//if (g_send_pending) return BLE_HS_EBUSY;
if (data_len =0 || data == NULL)
{
return BLE_HS_EINVAL;
}
om = ble_hs_mbuf_from_flat (data, data_len) ;
if (! om) {
return BLE_HS_ENOMEM;
}
rc = ble_gattc_indicate_custom (g_ble_demo_conn_handle, g_ble_demo_attr_indicate_handle, om) ;
/*
if (rc == 0)
{
g_send_pending = 1;
}
*/
return rc;
}
确实有效, 感谢解答!
@SK2024
麻烦点一个采纳哈