【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
麻烦点一个采纳哈