- 主题:蓝牙串口透传模块传输丢数据怎么办?
买了个HC-06蓝牙串口透传模块,MCU板通过它向计算机的蓝牙虚拟串口发数据
MCU向其RXD写入1000字节,计算机上串口调试助手只能接收到245字节
每次丢的数据基本都一样,大部分数据都丢弃了
波特率先是460800,然后改成115200,结果竟然一样,只能收到245字节
因此怀疑该模块的接收缓冲区太小,将数据长度减少到100,基本稳定
增加到200,有时仍会丢数据
但是把1000字节拆成若干帧发送 还要改程序,太麻烦
不知有没有好的解决办法
比如,有没有串口接收缓冲区比较大的蓝牙串口透传模块?
--
FROM 43.224.72.*
先确定下是不是正品HC-06,如果是正品,再排查距离和2.4G环境。
HC-06是这类产品中最靠谱的的型号之一。
【 在 energy 的大作中提到: 】
:
: 买了个HC-06蓝牙串口透传模块,MCU板通过它向计算机的蓝牙虚拟串口发数据
: MCU向其RXD写入1000字节,计算机上串口调试助手只能接收到245字节
: 每次丢的数据基本都一样,大部分数据都丢弃了
: 波特率先是460800,然后改成115200,结果竟然一样,只能收到245字节
--
FROM 111.19.32.*
应该不是HC原厂的,上面没有hc01.com的字样
丢数据是单向的,计算机通过蓝牙虚拟串口发给HC-06,其TXD引脚输出给MCU的数据,一个字节也不会丢,连续发多次1000字节的包,都能稳定接收
反过来,MCU通过其RXD引脚发送给计算机的数据,每个包的字节数多了,就会丢,而且丢数据的规律基本稳定
我怀疑是不是正品HC-06也是这样,接收缓冲区处理的问题,或者是受限于蓝牙通信协议的约束造成的
【 在 spadger 的大作中提到: 】
: 先确定下是不是正品HC-06,如果是正品,再排查距离和2.4G环境。
: HC-06是这类产品中最靠谱的的型号之一。
--
FROM 43.224.72.*
明显是hc06的串口buff爆掉了,他的串口接收FIFO应该就是256B,FIFO满了会写到内存里的缓冲区,你要找一下初始化设置的内存缓冲,改一下
【 在 energy 的大作中提到: 】
:
: 买了个HC-06蓝牙串口透传模块,MCU板通过它向计算机的蓝牙虚拟串口发数据
: MCU向其RXD写入1000字节,计算机上串口调试助手只能接收到245字节
: 每次丢的数据基本都一样,大部分数据都丢弃了
: 波特率先是460800,然后改成115200,结果竟然一样,只能收到245字节
#发自zSMTH@LYA-AL00
--
FROM 112.96.183.*
买原厂货。
【 在 energy 的大作中提到: 】
: 应该不是HC原厂的,上面没有hc01.com的字样
: 丢数据是单向的,计算机通过蓝牙虚拟串口发给HC-06,其TXD引脚输出给MCU的数据,一个字节也不会丢,连续发多次1000字节的包,都能稳定接收
: 反过来,MCU通过其RXD引脚发送给计算机的数据,每个包的字节数多了,就会丢,而且丢数据的规律基本稳定
: ...................
--
FROM 222.90.82.*