蓝牙通讯经UART传给STM32后上传PC端误码的排查与解决

蓝牙型号:nrf52832

stm32具体型号:stm32f427系列

使用HAL库构架框架。
使用上位机接收数据后显示丢包率爆了,100%丢包率,查看日志后发现丢包很奇怪,如下图:

丢包显示

数字代表每个数据包的序号,在从机内添加,由0x00—0xFF循环;

可以算是跳变,并且不是个别现象,出现的很频繁,于是使用RTT——viewer打印数据包,发现顺序正常,在蓝牙主机同样打印正常

蓝牙发送给32主控前打印,顺序正常,即使在32内部使用打印也是正常的顺序,只是会少量丢包(后经发现也与误码有关)。

两个从机为buffer1和buffer2,各自顺序正常。于是网上查找相关,有说涉及cdc的接收字节限制的(但是cdc最高可以到20m故排除),也有说传输间需要100us延时否则丢包,但是cdc函数封装后自带寄存器清位,查的自闭了,要是再深就要自己改动封装函数了(我来改底层函数?我么?)

在从机端加RTT打印的时候发现偶然会很正常,怀疑是否是前面没

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值