我的目的是使用Arduino使用HC-05蓝牙模块在PC和
Android设备之间建立通信.
我使用PC和Arduino(串行监视器)之间的USB通信和SoftwareSerial连接到HC-05.
我的问题是从BT到PC的通信运行良好,但在其他方面不能按预期工作.当从PC发送到BT时,只有当我关闭PC上的串行监视器或重置Arduino时,BT设备才会收到所有发送的字符.
我已经排除了BT模块或Android应用程序的问题,因为如果在Arduino中我实现了“ECHO”代码(在Android中编写并在Android中发送)一切正常.
随着下面发布的Arduino代码的预期行为是:Arduino reset-> Hello word发送,Serial monitor打开 – >没有任何反应,字符写在串行监视器上 – >在BT上收到的字符,写在BT上的字符>在串行监视器上接收的字符,串行监视器关闭 – >什么都没发生.
真正的行为是:Arduino重置 – > Hello word发送,Serial monitor打开 – > 2 BT上的Hello字和PC上的1(“晚安”),写在串行监视器上的字符 – >没什么,写在BT-上的字符>在串行监视器上接收的字符,串行监视器关闭 – >串口监视器中以前写过的字符收到Hello Word.
我该如何解决这个问题?
码:
#include
SoftwareSerial mySerial(2, 3); // RX, TX
int a=0;
char c;
char d;
void setup() {
Serial.begin(9600);
Serial.println("Goodnight moon!");
mySerial.begin(9600);
mySerial.println("Hello, world?");
}
void loop() {
delay(10);
if (Serial.available()) {
c=Serial.read();
delay(10);
Serial.write(c);
}
delay(10);
if (mySerial.available()) {
d=mySerial.read();
delay(10);
mySerial.write(d);
}
}