BLE例程中GATT_Notification(),返回值

GATT_Notification()返回SUCCESS,是指已經(jīng)通過無線發(fā)送成功了嗎?

GATT_Notification是否存在相關(guān)event來使用?比如發(fā)送成功,發(fā)送失?。?/p>


目的是為了既快速傳輸數(shù)據(jù)(6~10KB/s),又保證數(shù)據(jù)不丟失。

可以在GATT_Notification()中發(fā)送大于MTU的數(shù)據(jù)嗎?如果不能,能否告之CH582的speedtest例程達(dá)到60KB/s的思路,以方便閱讀源碼。

你所說的返回SUCCESS是否是

return?GATT_Notification(connHandle,?pNoti,?FALSE);

可以選中GATT_Notification右擊,點(diǎn)擊open decleration就可以看到這句

extern?bStatus_t?GATT_Notification(?uint16_t?connHandle,?attHandleValueNoti_t?*pNoti,?uint8_t?authenticated?);

定位authenticated,可以看到一句注釋 authenticated - whether an authenticated link is required


GATT_Notification和通知有關(guān),因此我們可以看到這段函數(shù)

????if(events?&?SBP_PERIODIC_EVT)
????{
????????//?Restart?timer
????????if(SBP_PERIODIC_EVT_PERIOD)
????????{
????????????tmos_start_task(Peripheral_TaskID,?SBP_PERIODIC_EVT,?SBP_PERIODIC_EVT_PERIOD);
????????}
????????//?Perform?periodic?application?task
????????performPeriodicTask();//你所需的
????????return?(events?^?SBP_PERIODIC_EVT);
????}


不能夠發(fā)送大于MTU的數(shù)據(jù)

????if(len?>?(peripheralMTU?-?3))
????{
????????PRINT("Too?large?noti\n");
????????return;
????}



你回復(fù)中提到的事件,是自定義事件。

想知道有GATT_Notification()的BLE協(xié)議棧相關(guān)事件嗎?以表示數(shù)據(jù)通過無線發(fā)送成功?


若不能發(fā)送大于MTU個(gè)數(shù)的數(shù)據(jù),請問,如何在一個(gè)連接事件中進(jìn)行多次數(shù)據(jù)交互?


BLE協(xié)議棧進(jìn)行處理Noti數(shù)據(jù),目前暫不對外開放。

simpleProfile_Notify的返回值是指發(fā)送成功和失敗,在對應(yīng)函數(shù)的上面注釋已書寫。

通過Noti發(fā)送數(shù)據(jù)一包也不可能超過最大MTU,如果需要發(fā)送大量數(shù)據(jù),可以嘗試TMOS調(diào)用該Noti進(jìn)行發(fā)送,時(shí)間參數(shù)減小,同時(shí)連接間隔拉到最小,MTU拉大最大。

Speedtest已經(jīng)提供了源碼出來,可自行查看并進(jìn)行測試。



好的,明白了。我嘗試進(jìn)行測試后,再交流。



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

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