我有一个Genuino101板和HM-11模块 . 我试图设置模块的参数,如名称等 . 所以我开始使用一个简单的代码,但它不起作用 . 我们可以看到,我的串口监视器应该显示“SETUP 1”和“SETUP 2” . 但这就是我的串口监视器显示的内容 .

SETUP 1

它没有显示或打印"SETUP 2" . 所以我猜测问题介于两者之间 . 我试图评论 mySerial.begin(4800); 并看到了这一点 .

SETUP 1SETUP 2LOOP
LOOP
LOOP
LOOP
LOOP
LOOP

除了我删除 mySerial.begin(4800) 之外,它应该工作 .

这是一个softwareSerial问题吗?我也尝试将波特率改为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");  
}

编辑:

问题是由于RX / TX引脚互换导致软件串行初始化错误,代码暂停了一半 . 交换RX / TX引脚后问题自动修复 .