您的位置:首页 > 产品设计 > UI/UE

【Arduino官方教程第一辑】示例程序 4-5 多串口[Mega]

2016-05-13 09:11 633 查看

多串口[Mega]

有时候,一个串口远不能满足你!当你尝试和多个串口设备通信,并且还想将数据发送到串口监视器,多几个RX/TX串口就是你迫切需要的了。本例向你展示Arduino Mega和Genuino Mega上3个附加串口的使用。以及如何将其他串口的数据转发到TX串口,以此在串口监视器上看到。

完成本例所需的硬件设备

Arduino Mega板 Genuino Mega板

串口设备(Xbee板,蓝牙模块或者RFID阅读器或者另一个Arduino都可以)

连接线

电路连接



准备好表格上你需要的串口设备后,请确保板子被正常供电并且线路连接正确。串口设备上的RX口应该连接到MEGA板上的TX1口,串口设备上的TX口应该连接到MEGA板上的RX1口。如果不清楚,请看原理图。

你还要确保MEGA板正常通过USB连接到电脑。

原理图



例程代码

下列代码假定你已经将串口设备连接到板子上的TX1和RX1。

/*
多串口[Mega]

从主串口获取数据并且转发到其他串口。
从串口1获取数据并且转发到主串口(串口0)。

代码只能在串口>=2的设备上使用。比如Arduino Mega、Due、 Zero等。

电路搭建:
* 串口设备连接到串口1
* 串口监视器在串口0打开

代码是公开的。

*/

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

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

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


相关资料

serial.begin()

serial.read()

serial.available()

if()

ASCIl表:展示Arduino先进的串口输出函数。

调光器:轻点鼠标来改变LED的亮度。

数据图表:发送数据到电脑,并且使用Processing来绘图。

MIDI音乐: 以串口发送MIDI音符。

多串口[Mega]:使用Arduino Mega上的两个串口。

原来标题译为MIDI音乐MEGA,是错译

控制LED:从Processing或Max/MSP来开关LED.

读取ASCII字符串:解析一串用逗号分隔的整数(以字符串类型传递)来让LED渐隐。

串口双向调用:用双向调用/握手连接(handshaking)的方法发送多个变量值。

串口双向调用(使用ASCII码):用双向调用/握手连接(handshaking)的方法发送多个变量值,并且在转发之前将这些变量的值通过ASCII解码。

串口事件:展示SerialEvent()函数的使用。

虚拟调色盘:用Arduino发送多个变量的值到电脑,然后用Processing或Max/MSP读取它们。

更新进程

日期日志译者
2016年5月13日创建并翻译文档唐家勋

译者:唐家勋

邮箱:mrsteventang@gmail.com

QQ:649196486

转载请注明出处,一切只因为热爱。

希望您能指出宝贵意见,谢谢。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: