CH579從機(jī)無(wú)法修改大于20的特征值

我下載的是CH579EVT 2.3版本的例程, 我使用的是EVT\EXAM\BLE\Peripheral 中的從機(jī)例程

我想要char1的長(zhǎng)度大于20



我修改了 gattaprofile.h 文件中宏定義

#define SIMPLEPROFILE_CHAR1_LEN? ? ? ? ? ? ? ?30??

同時(shí)修改CONFIG.h 文件中的宏定義為

#define BLE_BUFF_MAX_LEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ?150



然后使用手機(jī)的BLE調(diào)試助手(WCH)連接從機(jī),去讀取該特征值,發(fā)現(xiàn)無(wú)法讀取

如果將SIMPLEPROFILE_CHAR1_LEN 定義小于等于19? ?都是可讀取到正確的值


?


問(wèn)題解決了:自己來(lái)填坑一下, 如果手機(jī)連接從機(jī),需要手動(dòng)點(diǎn)擊右上角的三個(gè)... 然后后修改MTU,將MTU修改變大

//====================================================================


另外補(bǔ)充一下,在multiCentral例程中,主機(jī)跟從機(jī)交換了MTU信息,但是主機(jī)并沒(méi)有將該信息進(jìn)行設(shè)置(在Central例程中是有的),所以一直都是默認(rèn)值(在這個(gè)例程中 回調(diào)函數(shù)centralHciMTUChangeCB 內(nèi)部是空的)

不知道這個(gè)問(wèn)題是就是這樣設(shè)定還是軟件的bug??

解決方法 就是在centralHciMTUChangeCB函數(shù)內(nèi)加入?

attExchangeMTUReq_t req;

//MTU改變的時(shí)候

?req.clientRxMTU = maxRxOctets;

?GATT_ExchangeMTU(connHandle,&req,centralTaskId);? ?//改變MTU? 雙方協(xié)商之后的結(jié)果

PRINT("connHandle: %d ,maxTxOctets:%d maxRxOctets:%d\n",connHandle,maxTxOctets,maxRxOctets);

?

即可實(shí)現(xiàn)MTU的更新

謝謝分享.


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频