CH579 如何发送超过20 Bytes的数据

我试过用GATT_WriteLongCharValue 这个函数发送,超过20个字节就发送不了,函数返回0x04,是哪里还需要设置吗

GATT_WriteLongCharValue 主机端给从机发送数据的api,


1,先在config.h里面BLE_BUFF_MAX_LEN 这个值改大,默认27,你可以改为251

2,主机端连接后 发起mtu 交换:

//然后在 连上的事件里就可以申请更新
attExchangeMTUReq_t pReq;
pReq.clientRxMTU = 247;  
uint16_t result = GATT_ExchangeMTU( peripheralConnList.connHandle,&pReq, Peripheral_TaskID);  
PRINT("result = %04x\r\n",result);

3,发送,长度最大取

ATT_GetMTU( uint16 connHandle )-3;


这里还会受到从机mtu的影响,要两边都支持才行.


谢谢,再请教个问题,从机通过通知的形式向主机发送数据,还是只能发送20个bytes数据,这中情况应该怎样处理


只有登录才能回复,可以选择微信账号登录