Arduino Mega 两串口间通讯

目的

实现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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容