Arduino: использование Serial и Software Serial с модулем Bluetooth
Моя цель - использовать Arduino для настройки связи между ПК и устройством Android с помощью модуля Bluetooth HC-05.
Я использую USB-соединение между ПК и Arduino (Serial Monitor) и SoftwareSerial для подключения к HC-05.
Моя проблема в том, что связь с BT на ПК работает хорошо, но нет работать как положено в другом направлении. При отправке с ПК на BT все отправленные символы принимаются устройством BT только тогда, когда я закрываю Serial Monitor на ПК или когда я сбрасываю Arduino.I '
мы исключили проблему с модулем BT или приложением Android, потому что если в Arduino я реализую "ЭХО» Код (напишите в Android и отправить в Android) все отлично работает.
С кодом Arduino, опубликованным ниже, ожидаемое поведение: Arduino reset-> Привет, слово отправлено, Серийный монитор открыт-> ничего не происходит, символ написан на серийном мониторе-> символ, полученный на BT, символ, написанный на BT-> символ получен на последовательном мониторе, последовательный монитор закрыт-> Ничего не произошло.
Реальное поведение: сброс Arduino-> Привет, слово отправлено, Серийный монитор открыт-> 2 Привет слова на БТ и 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);
}
}