Передача данных Arduino по HC-05 (Bluetooth) - PullRequest
0 голосов
/ 05 июля 2018

платформа : Arduino UNO, Arduino Mega2560, HC-05

Здесь показаны детали.

enter image description here

В Arduino UNO ( Master ) я кодирую

Serial.print("A 1 2 3 4 5;");

В Arduino Mega2560 ( slave ) я кодирую

  void setup() 
{
    //connect to the PC
    Serial.begin(9600);
    //connect to the Arduino UNO(By bluetooth)
    Serial1.begin(38400); 
}

void loop()
{
    //its value > 0
    Serial.println(Serial1.available());   
    //output : 128 or 248
    Serial.print(Serial1.read());
    delay(1000);          
}

Значение Serial.available() > 0 истинно, но результат печати Serial.print(Serial1.read()); является ненормальным . это печать

enter image description here

Я хочу знать причину и ее решение. Спасибо!

1 Ответ

0 голосов
/ 06 июля 2018

Я предполагаю, что вы убедились, что оба устройства Bluetooth подключены правильно и скорость передачи данных соответствует. Теперь одной из проблем может быть переполнение буфера. На стороне отправителя укажите задержку, равную или немного превышающую задержку на стороне получателя. Затем на стороне получателя измените void loop на следующее:

void loop(){
    if(Serial1.avaialable() > 0){
        char value = Serial1.read();
        Serial.println(value);
        delay(1000);
    }
}
...