请问BLE协议栈是否有数据校验和重发机制吗,我在做CH582和Android通讯,不太清楚BLE的底层协议,底层协议是否已经包含数据校验和重发机制。应用层考虑可靠性采用主从机应答通讯,还有必要再做数据校验和超时重发的功能吗。
热门产品 :
CH390:以太网控制器芯片
请问BLE协议栈是否有数据校验和重发机制吗,我在做CH582和Android通讯,不太清楚BLE的底层协议,底层协议是否已经包含数据校验和重发机制。应用层考虑可靠性采用主从机应答通讯,还有必要再做数据校验和超时重发的功能吗。
蓝牙本身是可靠传输,但是也会出现丢包丢数据的情况。
如果出现了丢包,需要进行重传的处理。
如使用Peripheral时通过Noti进行数据传输,会进行发送是否成功的判断。没有发送成功,在函数中是会进行释放内存,如需要进行重传则需要通过应用层进行重新发包。
一般进行透传通过应用层进行处理即可,蓝牙协议本身也是有透传的属性可以进行传输数据,即Indication功能,可以参考如下博客讲解:
蓝牙BLE句柄指示\确认(Handle Value Indication\Confirmation)(CH582) - SweetTea_lllpc - 博客园 (cnblogs.com)