Arduinoarduino我爱编程

Arduino Mega 两串口间通讯

2017-04-09  本文已影响125人  胤默思佚

目的

实现Arduino多个串口间的数据通信

  1. Serial发送数据 Serial1接收
  2. Serial1发送数据Serial接收

硬件

连线

USB To TTL Arduino
VCC 5V
GND GND
TX RXD1
RX TXD1
连线说明
//实现Arduino多个串口间的数据通信
//   1. Serial发送数据 Serial1接收
//   2. Serial1发送数据Serial接收
//----------------------------------------------
// serial1  TXD1(18) RXD1(19)

void setup() {
  // 初始化串口:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // 从串口1转发到串口0(WRTnode to Arduino):
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);  
//  Serial.println("Serial1.available");
  }

  // 从串口0转发到串口1(Arduino to WRTnode):
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
//  Serial.println("Serial.available");
  }
}

问题

1. 什么时候 Serial.available()==true

答:在测试 wakeup()[PN532-HSU] 的时候发现Serial.available()=false,通过测试发现:只有当Serial接收到数据后Serial.available()才会为真。

2. Arduino Mega 上串口的区别

2.1 串口监视器 与 TX0 RX0 之间的关系

在串口监视器上读显示的数据与Serial上的数据相同


Serial

2.2 Arduino Mega上的串口

TXDn +RXDn =Serialn

上一篇 下一篇

猜你喜欢

热点阅读