Почему мое последовательное сообщение не отображается на другом, когда я пытаюсь использовать 2 соединения Arduino

Я пытаюсь создать простую программу для общения с моими двумя Arduino Uno и двумя компьютерами. Но когда я попытался написать сообщение с помощью последовательного монитора ПК1, сообщение не отобразилось на последовательном мониторе ПК2. Я не вижу проблемы или, возможно, я что-то упускаю в программе.

Вот мой код: ПК1:

#include <SoftwareSerial.h>

SoftwareSerial Serial1(10,11);

void setup() 
{
    Serial.begin(9600);
    Serial1.begin(9600);
}

void loop() 
{
    if ( Serial.available()) // Проверяем, доступен ли хотя бы один символ
    {
        char ch1 = Serial.read();
        Serial1.print(ch1);
    }

    delay(200);
}

ПК2:

#include <SoftwareSerial.h>

SoftwareSerial Serial1(10,11);

void setup() 
{
    Serial.begin(9600);
    Serial1.begin(9600);
}

void loop() 
{
    if (Serial1.available()) 
    {
        char ch = Serial1.read();
        Serial.print(ch); 
    }
} 

, 👍1

Обсуждение

ты пересек провода RX с TX? используйте write, а не print, @Juraj

Да, я подключаю RX к TX. Значит, мне следует использовать запись вместо печати?, @Ilzu

Delay(200) не обязателен — почему он там? Это просто создает раздражающие задержки в выводе, @jose can u c

Вы связали территорию вместе?, @R Zach

Я вижу, может быть, тогда я смогу просто удалить код, @Ilzu

Попробуйте эту штуку. Это может быть полезно для концептуальных целей. [ссылка](https://www.instructables.com/id/Communication-Between-Two-Arduinos-I2C/), @Hasan


1 ответ


1

Я давно не проверял это, но по моему опыту, даже если у вас может быть открыто несколько окон IDE, одновременно у вас может быть только один последовательный монитор. Я решил эту проблему с помощью программы-эмулятора терминала для второго Arduino.

,