蓝牙型号:nrf52832
stm32具体型号:stm32f427系列
使用HAL库构架框架。
使用上位机接收数据后显示丢包率爆了,100%丢包率,查看日志后发现丢包很奇怪,如下图:
丢包显示
数字代表每个数据包的序号,在从机内添加,由0x00—0xFF循环;
可以算是跳变,并且不是个别现象,出现的很频繁,于是使用RTT——viewer打印数据包,发现顺序正常,在蓝牙主机同样打印正常
蓝牙发送给32主控前打印,顺序正常,即使在32内部使用打印也是正常的顺序,只是会少量丢包(后经发现也与误码有关)。
两个从机为buffer1和buffer2,各自顺序正常。于是网上查找相关,有说涉及cdc的接收字节限制的(但是cdc最高可以到20m故排除),也有说传输间需要100us延时否则丢包,但是cdc函数封装后自带寄存器清位,查的自闭了,要是再深就要自己改动封装函数了(我来改底层函数?我么?)
在从机端加RTT打印的时候发现偶然会很正常,怀疑是否是前面没