TI中文支持网
TI专业的中文技术问题搜集分享网站

如何保证BLE数据的可靠性传输

BLE 1.40里有两个发送notify的函数:GATT_Notification和GATTServApp_ProcessCharCfg

那要如何保证数据的可靠性传输呢?

bStatus_t GATTServApp_ProcessCharCfg( gattCharCfg_t *charCfgTbl, uint8 *pValue,
                                        uint8 authenticated, gattAttribute_t *attrTbl,
                                        uint16 numAttrs, uint8 taskId );

最后一个taskid参数是如何使用的?

Susan Yang:

GATT_Notification是直接将数据发送给master,GATTServApp_ProcessCharCfg会让master调用read请求, 然后再调用到sk_ReadAttrCB()

你想用Notification的话最好用GATT_Notification(), 这个直接发送Notification, 不会像GATTServApp_ProcessCharCfg再会让master向slave去发送一个读的请求.

可参考帖子 http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/23478.aspx

weiwei xu1:

回复 Susan Yang:

好;

    也就是说,GATTServApp_ProcessCharCfg这个函数是实际上让master那边来读,而GATT_Notification只是slave自己发数据出去?

    那么是不是在可靠性上,GATTServApp_ProcessCharCfg这个函数要更好一些?或者说GATTServApp_ProcessCharCfg只能连接不断,就能发送成功?

    还有,GATTServApp_ProcessCharCfg这个最后的参数是怎么使用的?他会给taskid发送什么事件嘛?

user5880463:

回复 Yan:

您好,请问对方如果有crc错误,ble的notification会返回发送失败,还是自动就重传了呢,是不是notification返回success,主机端就一定收到了正确数据了呢?

赞(0)
未经允许不得转载:TI中文支持网 » 如何保证BLE数据的可靠性传输
分享到: 更多 (0)