我从Blueduino电路板制造商的页面获得了这段代码。它非常适合双向沟通,看似简单,但经过多次搜索,我无法理解它在做什么。
这是代码:
// 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);
}
很明显,它写入了输出,反之亦然(我相信Rx到Tx),但我不确定原因。
此代码正常工作,当我在串口监视器中写入时,它是在手机上收到的,但我不确定这段代码是如何处理我在串行监视器中发送的消息并将其插入流中。
提前感谢您的帮助。
答案 0 :(得分:1)
此代码将消息从一个串行设备转发到另一个串行设备。 最有可能在您的Arduinos串行接口(到您的电脑)和blueduino板之间。 您无法直接将PC连接到手机,也无法将blueduino-board直接连接到PC的串行线。
因此你需要介于两者之间。 (你的arduino)转发每一个字节。
您拥有的代码对两个端口基本相同。如果一个字节在串行接收缓冲区中,请将其读取并发送到另一个端口。