Arduino 软件系列问题

Arduino 软件系列问题,arduino,software-serial,Arduino,Software Serial,我有一个Genuino101板和HM-11模块。我正在尝试设置模块的参数,比如名称等。所以我从一个简单的代码开始,但它不起作用。我们可以看到,我的串行监视器应该显示“设置1”和“设置2”。但这是我的串行监视器显示的 设置1 它没有显示或打印“设置2”。所以我猜问题在两者之间。我试图注释掉mySerial.begin(4800)并看到了这一点 SETUP 1SETUP 2LOOP LOOP LOOP LOOP LOOP LOOP 它正常工作,只是我删除了mySerial.begin(4800)

我有一个Genuino101板和HM-11模块。我正在尝试设置模块的参数,比如名称等。所以我从一个简单的代码开始,但它不起作用。我们可以看到,我的串行监视器应该显示“设置1”和“设置2”。但这是我的串行监视器显示的

设置1

它没有显示或打印“设置2”。所以我猜问题在两者之间。我试图注释掉mySerial.begin(4800)并看到了这一点

SETUP 1SETUP 2LOOP
LOOP
LOOP
LOOP
LOOP
LOOP
它正常工作,只是我删除了
mySerial.begin(4800)

这是软件串行问题吗?我也试着把波特率改为9600,但问题还是出现了。看起来像
mySerial.begin(4800)
暂停arduino。请帮忙

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2,3);

void setup(){
  Serial.begin(9600);
  delay(2000);
  Serial.print("SETUP 1");
  mySerial.begin(4800);
  delay(2000);
  Serial.print("SETUP 2");
  mySerial.print("AT+NAMEMASTER0000");

}

void loop(){
  delay(1000);
  Serial.println("LOOP");  
}
#包括
软件序列mySerial(2,3);
无效设置(){
Serial.begin(9600);
延迟(2000年);
串行打印(“设置1”);
mySerial.begin(4800);
延迟(2000年);
串行打印(“设置2”);
mySerial.print(“AT+NAMEMASTER0000”);
}
void循环(){
延迟(1000);
Serial.println(“循环”);
}
编辑:


问题在于,由于RX/TX引脚互换导致软件串行初始化错误,代码中途暂停。更换RX/TX引脚后,该问题已自动修复。

我认为您的代码正常。您可能需要在打印语句中使用
println()
或添加
\r\n
。另外,一些基本的故障排除-断开模块与arduino的连接,看看软件串行部分是否通过。此外,确保模块的TX连接到arduino上的RX(即,arduino上的针脚2连接到模块上的TX,arduino上的针脚3连接到模块上的RX)。最后,尝试更改您的软件序列号以使用arduino上的不同管脚,即
SoftwareSerial mySerial(4,5)或者什么的。我简直不敢相信自己。所以问题是我的RX和TX引脚互换了。我无法表达我对你的感激之情,先生。我们都去过那里!有时我还是会在意外的时候交换它们,需要一点时间来适应。快乐黑客!:)