Több soros port használata az Arduino Megán

Két soros port használata az Arduino Megán.


Utolsó felülvizsgálat: 2022.02.04 16:50


Néha egy soros port nem elég! Ha több soros eszközzel próbál kommunikálni, miközben információkat küld vissza a fő soros ablakba, néhány extra RX/TX port üdvözlendő dolog lehet. Ez a példa az Arduino Mega 3 kiegészítő soros portjának egyikét használja, és az ezen a kapcsolaton olvasott bejövő adatokat egyenesen a fő TX vonalra irányítja, majd a fő soros ablakba, hogy megtekinthesse.

Hardver szükséglet

  • Arduino kártya

  • Soros kompatibilis eszköz (például Xbee rádió, Bluetooth modul vagy RFID-olvasó, vagy más kártya).

Az áramkör

Miután ellenőrizte a példában használni kívánt soros kompatibilis eszköz adatlapját, győződjön meg arról, hogy megfelelően van bekötve és ellátva táppal. Csatlakoztassa eszköze RX és TX érintkezőit a Mega TX1 és RX1 érintkezőihez az alábbi kapcsolási rajz szerint.

Győződjön meg arról, hogy a Mega csatlakozik a számítógéphez USB-n keresztül, hogy lehetővé tegye a soros kommunikációt.

Vázlat

A kód

Ez a vázlat azt feltételezi, hogy a soros eszközt csatlakoztatja a TX1-hez és az RX1-hez.

/*
  Multiple Serial test

  A fő soros portról fogad, a többieknek küld.
  Az 1-es soros portról fogad, a fő soros portra küld (Serial 0).

  Ez a példa csak egynél több soros porttal rendelkező kártyákkal működik, például Arduino Mega, Due, Zero stb.

  Az áramkör:
  - az 1-es soros porthoz csatlakoztatott bármely soros eszköz
  - Soros monitor nyitva a 0-s soros porton

  created 30 Dec 2008
  modified 20 May 2012
  by Tom Igoe & Jed Roach
  modified 27 Nov 2015
  by Arturo Guadalupi

  Ez a kód nyilvános.

  https://docs.arduino.cc/built-in-examples/communication/MultiSerialMega
*/


void setup() {
  // inicializálja mindkét soros portot:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // olvasás az 1-es portról, küldés a 0-s portra:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // olvasás a 0-s portról, küldés az 1-es portra:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }
}

Tudj meg többet

További alapvető oktatóanyagokat a beépített példák részben talál.

Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.