我无法从 Arduino 上的蓝牙串行接口读取数据。
这是我的代码:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 7); // RX, TX
void setup() {
mySerial.begin(38400);
Serial.begin(38400);
}
String Data = "";
void loop(){
//mySerial.println("Bluetooth Out");
while(mySerial.available()){
char character = mySerial.read();
Data.concat(character);
if (character == '\n'){
Serial.print("Received: ");
Serial.println(Data);
Data = "";
}
}
}
这应该把我输入蓝牙串口的任何内容都打印到普通串口上。这是我尝试过的:
如果我取消注释mySerial.println("Bluetooth Out");
,那么我会看到将消息打印到蓝牙终端。
我尝试与上面类似的方法打印到正常的串行输出,我看到它正在打印。
我尝试了多种方法(来自一些在线教程)来解码来自 mySerial 的字符串和数据,但没有任何反应。
我正在使用 arduino 串行监视器来检查端口,但是我也尝试在我的笔记本电脑上使用蓝牙终端并且行为相同。
所以我想,我从蓝牙串口读取数据的正确方法是什么?