Soros átpasszolás

Bemutatja, hogyan lehet virtuálisan összekapcsolni a Serialt és a Serial1-et.


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


Ez a példa bemutatja, hogyan lehet virtuálisan összekapcsolni a Serial-t és a Serial1-et. Ez az oktatóanyag betölthető olyan kártyákra, amelyek két különböző UART interfésszel rendelkeznek a 0 és 1 kivezetéseken és az USB-porton (mint például a Zero, MKR1000, 101). Minden adat, amely a Serial1 RX kivezetéséről érkezik, a Serial-ra kerül és fordítva.

Hardver szükséglet

  • Arduino kártya

Az áramkör

Nincs, de a kártyát csatlakoztatni kell a számítógéphez; az Arduino Software (IDE) soros monitora használható az egy vagy több karakter kommunikálására és a karakterlánc visszavételére.

A kód

/*
  SerialPassthrough sketch

  Egyes kártyák, például az Arduino 101, az MKR1000, a Zero vagy a Micro, egy
  hardveres soros porttal rendelkeznek a 0-1 digitális kivezetéshez, és egy
  különálló USB soros port csatlakozik az IDE soros monitorhoz. Ez azt jelenti,
  hogy az Arduino UNO-val lehetséges "soros átpasszolás" (amelyet általában soros
  AT-parancsokkal történő konfigurálást igénylő eszközökkel/pajzsokkal való
  interakcióra használnak) alapértelmezés szerint nem működik.

  Ez a vázlat lehetővé teszi a soros átpasszolási viselkedés emulálását. Az IDE
  soros monitorba beírt szövegek a 0. és 1. digitális érintkezők soros portjára
  íródnak ki, és fordítva.

  A 101, MKR1000, Zero és Micro esetében a "Serial" a soros monitorhoz
  csatlakoztatott USB soros portra, a "Serial1" pedig a 0. és 1. kivezetéshez
  csatlakoztatott hardveres soros portra utal. Ez a vázlat a soros
  átpasszolást emulálja a fent említett kártyák két soros portjával,
  de megváltoztathatja ezeket a neveket, hogy összekapcsoljon bármely
  két soros portot egy több porttal rendelkező kártyán.

  created 23 May 2016
  by Erik Nyquist

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

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

void loop() {
  if (Serial.available()) {      // Ha valami a Serial-ra (USB) érkezik,
    Serial1.write(Serial.read());   // olvasd, és küld Serial1-re (0 & 1 kivezetések)
  }

  if (Serial1.available()) {     // Ha valami a Serial1-re (0 & 1 kivezetések) érkezik,
    Serial.write(Serial1.read());   // olvasd, és küld Serial-ra (USB)
  }
}

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.