我試過用GATT_WriteLongCharValue 這個函數(shù)發(fā)送,超過20個字節(jié)就發(fā)送不了,函數(shù)返回0x04,是哪里還需要設(shè)置嗎
熱門產(chǎn)品 :
CH339: 7端口多功能USB HUB控制器芯片
我試過用GATT_WriteLongCharValue 這個函數(shù)發(fā)送,超過20個字節(jié)就發(fā)送不了,函數(shù)返回0x04,是哪里還需要設(shè)置嗎
GATT_WriteLongCharValue 主機端給從機發(fā)送數(shù)據(jù)的api,
1,先在config.h里面BLE_BUFF_MAX_LEN 這個值改大,默認27,你可以改為251
2,主機端連接后 發(fā)起mtu 交換:
//然后在?連上的事件里就可以申請更新 attExchangeMTUReq_t?pReq; pReq.clientRxMTU?=?247;?? uint16_t?result?=?GATT_ExchangeMTU(?peripheralConnList.connHandle,&pReq,?Peripheral_TaskID);?? PRINT("result?=?%04x\r\n",result);
3,發(fā)送,長度最大取
ATT_GetMTU(?uint16?connHandle?)-3;
這里還會受到從機mtu的影響,要兩邊都支持才行.
謝謝,再請教個問題,從機通過通知的形式向主機發(fā)送數(shù)據(jù),還是只能發(fā)送20個bytes數(shù)據(jù),這中情況應(yīng)該怎樣處理