技術(shù),如果我用安卓APP單包發(fā)送超過20個byte,我要怎么配置CH579使得每次pfnWriteAttrCB回調(diào)能夠接收超過20byte的數(shù)據(jù)?
補充一下,就是如何配置MTU模式,有沒有相關(guān)例程發(fā)一份
在那個config. h文件里面有一個設置MTU最大值的地方。
把BLE_BUFF_MAX_LEN改大
#ifndef BLE_BUFF_MAX_LEN
#define BLE_BUFF_MAX_LEN251
#endif
但是又出現(xiàn)了個新問題,我做了這個配置后,第一次連接是可以單次回調(diào)接收長度能超過20個byte,但是在藍牙不掉電重啟的情況下,手機app掉線后重連,單次回調(diào)接收長度又變成了20,這個保存配置的SNV也做了處理,但是就是不行。
#ifndef BLE_SNV
#define BLE_SNV ????????TRUE
#endif
按照規(guī)范,ble連上后,mtu都是按照23(有效數(shù)據(jù)最多20字節(jié)) 來進行通信的,如果需要更長,mtu是需要在連接上后進行 交換的.
你需要在每次連上后,app端都要發(fā)起mtu交換,這樣才行.
看字是看懂了,能否留個微信或者qq進一步了解下是怎么回事
CH571 BLE設備端可以發(fā)起MTU交換嘛
由設備端發(fā)起是不建議的,最好是有主機端發(fā)起,因為有些軟件并不認可從機修改。