不同板子的蓝牙透传乱码问题

2018-02-031.5万
AI 快速预览详细 收起
本文讨论了使用HC-05模块在CurieNano和ProMicro之间进行蓝牙透传时遇到的数据乱码问题。尝试了9600和57600波特率,但仍然无效。奇怪的是,手机分别连接单个板子的BLE通讯正常,但两板之间通讯出现乱码。核心代码包括SoftwareSerial的设置和数据传输逻辑。文章提供了详细的故障排查方法和解决方案,帮助技术人员解决蓝牙通讯问题。
现在做一个设计,计划用HC-05在两个不同的板子之间蓝牙透传数据,结果乱码

一个板子是CurieNano(这个板只有BLE不支持通常的大流量蓝牙传输,找了一下其他模块监听BLE的貌似找不到简单的)
另外一个是ProMicro,也就是小型的Leonardo

两边各一个HC-05,一主一从,蓝牙采用SoftwareSerial,波特率9600和57600都试了,结果全部是乱码,串口出来全部是问号

奇怪的是手机分别蓝牙连两个板的BLE串口通讯是可以的,就是两个板之间通讯就乱码了



请问各位有没有头绪?或者有其他推荐不同板之间蓝牙通讯解决方法吗?例如有什么办法可以让一个板子监听CurieNano的BLE广播呢?




核心代码很简单:
SoftwareSerial BT(8,9);

if (Serial.available()) {
    val = Serial.read();
    //BT.write(val);    // write一样不行,不是hex的问题
    //BT.println();
    BT.print(val);
  }
  
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
medivl
medivl
是不是你的串口监视器的波特率和程序里面初始化的波特率不一样?
hanspond
hanspond
作者
回复medivl
不是,后来两边的板子程序都改用了BT.write(byte(val)) ,暂时解决了问题
具体原因机制还是不明了
- 没有更多了 -