MultiSerialMega

Bazen bir seri port yeterli değildir! Çoklu seri özellikli cihazlarla iletişim kurmaya çalışırken, aynı zamanda ana seri pencereye bilgi gönderirken, birkaç ekstra RX / TX portu memnuniyetle karşılanabilir. Bu örnek, Arduino ve Genuino Mega'nın 3 yardımcı seri portundan birini kullanır, bu bağlantıda okunan gelen verileri doğrudan ana TX hattına ve ardından ana seri penceresine görüntülemeniz için yönlendirir.

Gerekli Donanım

  • Arduino veya Genuino Mega Kurulu
  • Seri özellikli cihaz (örneğin, bir Xbee Radyo, Bluetooth modülü veya RFID okuyucu veya başka bir kart).

Devre

Bu örnek için kullanmayı seçtiğiniz herhangi bir seri etkin aygıtın veri sayfasını kontrol ettikten sonra, hem düzgün kablolanmış hem de güç olduğundan emin olun. Cihazınızın RX pinini ve TX pinlerini, aşağıdaki şemada gösterildiği gibi Mega'nızın TX1 ve RX1 pinlerine bağlayın.

Seri iletişimi etkinleştirmek için Mega'nuzun USB üzerinden bilgisayarınıza bağlı olduğundan emin olun.

Şematik

Kod

Bu çizim, seri etkin aygıtınızı TX1 ve RX1'e bağladığınızı varsayar.

/*
  Multiple Serial test

  Receives from the main serial port, sends to the others.
  Receives from serial port 1, sends to the main serial (Serial 0).

  This example works only with boards with more than one serial like Arduino Mega, Due, Zero etc.

  The circuit:
  - any serial device attached to Serial port 1
  - Serial Monitor open on Serial port 0

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

  This example code is in the public domain.
*/



void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // read from port 0, send to port 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }
}
[Kodu Al]

See Also

  • serial.begin()
  • serial.read()
  • serial.available()
  • if()

  • ASCIITable- Arduino'nun gelişmiş seri çıkış fonksiyonlarını gösterir.
  • Dimmer- Bir LED'in parlaklığını değiştirmek için fareyi hareket ettirin.
  • Graph- Verileri bilgisayara gönderin ve İşlemde grafiğini çizin.
  • Midi- Seri olarak MIDI not mesajları gönderin.
  • PhysicalPixel- İşleme veya Maks / MSP'den kartınıza veri göndererek bir LED'i açın ve kapatın.
  • ReadASCIIString- Bir LED'in solması için virgülle ayrılmış bir tamsayı dizesi ayrıştırın.
  • SerialCallResponse- Bir çağrı ve yanıt (el sıkışma) yöntemi kullanarak birden çok değişken gönderin.
  • SerialCallResponseASCII- Bir çağrı ve yanıt (el sıkışma) yöntemi kullanarak birden çok değişken gönderin ve göndermeden önce değerleri ASCII kodlayın.
  • SerialEvent- SerialEvent () kullanımını gösterir.
  • VirtualColorMixer- Arduino'dan bilgisayarınıza birden çok değişken gönderin ve bunları İşleme veya Maks / MSP'de okuyun.