美文网首页Arduinoarduino我爱编程
Arduino Mega 两串口间通讯

Arduino Mega 两串口间通讯

作者: 胤默思佚 | 来源:发表于2017-04-09 00:53 被阅读125次

目的

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

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

硬件

  • Arduino Mega
  • WRTnode(OpenWRT) 任意LINUX也可
  • 杜邦线4根
  • USB 转 TTL线一根

连线

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

相关文章

网友评论

    本文标题:Arduino Mega 两串口间通讯

    本文链接:https://www.haomeiwen.com/subject/hgsrottx.html