You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino Uno连接HC-05模块时手机向模块发数据出现乱码问题求助

HC-05蓝牙模块接收手机数据乱码解决方案
  • 规避硬件串口引脚冲突
    你当前将软件串口的TX引脚设置为引脚0,而引脚0是Arduino原生硬件串口Serial的固定RX引脚,会和电脑端串口打印的功能产生信号冲突。直接更换软件串口的TX引脚为其他空闲数字引脚即可,比如改为引脚11,对应接线调整为:HC-05的RX接Arduino 11脚,HC-05的TX接Arduino 10脚,代码中软串口定义修改为SoftwareSerial mySerial(10, 11); // RX, TX。
  • 匹配透传模式波特率
    你当前代码中mySerial.begin(38400)是HC-05进入AT指令配置模式时的波特率,正常透传通信场景下,绝大多数HC-05的默认波特率为9600,你可以先将该行代码改为mySerial.begin(9600)测试。如果依旧乱码,可先进入AT模式查询HC-05的实际透传波特率参数,再对应修改代码中的波特率数值即可。
  • 确认接线交叉规则
    蓝牙模块和串口设备通信时需交叉接线,即HC-05的TX引脚接Arduino软串口的RX引脚,HC-05的RX引脚接Arduino软串口的TX引脚,不可同标识直连。

修改后的参考代码:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // 软串口RX接10、TX接11,对应接HC-05的TX、RX

void setup() {
  Serial.begin(9600);
  pinMode(9,OUTPUT); digitalWrite(9,HIGH);
  Serial.println("蓝牙透传测试启动");
  mySerial.begin(9600); // 匹配HC-05透传波特率
}

void loop()
{
  if (mySerial.available())  
    Serial.write(mySerial.read()); 
  
  if (Serial.available())  
    mySerial.write(Serial.read());
}

内容的提问来源于stack exchange,提问作者wabhou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:39:04