Последовательная связь между Arduino Mega и Arduino Nano - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь подключить мою плату Arduino Mega к Arduino Nano, я подключил их следующим образом:

MeAuriga | Nano
GND      | GND
TX       | RX
RX       | TX

Мега является приемником, и код здесь:

char mystr[10]; //Initialized variable to store recieved data

void setup() {
  // Begin the Serial at 9600 Baud
  Serial.begin(9600);
}

void loop() {
  Serial.readBytes(mystr,5); //Read the serial data and store in var
  Serial.println(mystr); //Print data on Serial Monitor
  delay(1000);
}

И код для Nano, который является отправителем:

 char mystr[5] = "Hello"; //String data

    void setup() {
      // Begin the Serial at 9600 Baud
      Serial.begin(9600);
    }

    void loop() {
      Serial.write(mystr,5); //Write the serial data
      delay(1000);
    }

Что происходит: Когда я соединяю их вместе на нано, я просто получаю отпечатки Hello на последовательный монитор, и не имеет значения, если я отсоединяю кабель, он просто продолжает печатать привет.

Пока мега последовательный монитор пуст.

Любая помощь будет принята с благодарностью.

Изменить: я изменил Serial.readBytes на Serial1.readBytes, и у меня нет моего nano подключен к USB, я питаю его от VIN. У меня только USB подключен к Меге. и я подключил нано на контакт 18 и 19

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

Я исправил это, запустив Serial для обоих.

Mega

char mystr[10]; //Initialized variable to store recieved data

void setup() {
  // Begin the Serial at 9600 Baud
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  Serial1.readBytes(mystr,5); //Read the serial data and store in var
  Serial.println(mystr); //Print data on Serial Monitor
  delay(1000);
}
0 голосов
/ 29 января 2020

Проблема здесь:

void loop() {
  Serial.readBytes(mystr,5); //Read the serial data and store in var
  Serial.println(mystr); //Print data on Serial Monitor
  delay(1000);
}

У вас больше нет последовательного монитора!

Если вы используете RX / TX, вы не можете подключить и ваш USB- Этот кабель используется для связи с вашим Nano.

Если у вас есть 2 последовательных порта на Arduino (у мега 4):

        |COM|PIN RX|PIN TX|  
        | 0 |   0  |   1  |
        | 1 |  19  |  18  |
        | 2 |  17  |  16  |
        | 3 |  15  |  14  |

Serial используется для вашего терминал (через USB-кабель) и другие 3 могут быть использованы для подключения вашего Nano. Просто напишите Serial1.readBytes вместо Serial.readBytes.

Если у вас нет последовательного порта, вы можете использовать библиотеку SoftwareSerial.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...