CH582发送数据量大时,会丢包

蓝牙每次只能发20字节左右的数据,连续发送几百字节,会出现丢包现象。

加大连接间隔等参数,仍存在丢包;

造成的原因有哪些?

首先蓝牙每包数据的大小是根据MTU来决定的,默认mtu为23,那么你就只能每包20字节,修改mtu为247,则每包可以发送244字节,发送又是如何发送的,判断发送成功发下一包还是一直猛发,通讯的距离以及周围的干扰也可能造成。

修改mtu可参考http://www.wch.cn/bbs/thread-88224-1.html


想问一下,数据发送成功的返回函数app_drv_fifo_result_t 里面的APP_DRV_FIFO_RESULT_SUCCESS = 0,吗?


是的,建议把mtu调大试试,


MTU修改了,还是存在丢数据的现象,但首次上电和主机通信的第一次通信,不会丢包,后期存储变多,就会存在丢包。每次发送的数目一定,存储数据量的大小对发送有影响吗?距离十分近,且周围无干扰,还有什么影响因素吗?


我这里尝试了一次发送230字节的数据,发现现象是正常的。你这里需要发送长包,可以使用从机例程进行修改,或者使用BLE_UART的例程也尝试一下。

1650974293495397.jpg

2.png



只有登录才能回复,可以选择微信账号登录