两个arduino进行软串口通信的探索
arduino1程序如下:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
if (Serial.available())
{
mySerial.write(Serial.read());
}
if (mySerial.available())
{
Serial.write(mySerial.read());//硬串口收到软串口数据
}
}
arduino2程序如下:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
if (Serial.available())
{
mySerial.write(Serial.read());
}
delay(3000);
if (mySerial.available())
{
Serial.write(mySerial.read());
}
}
硬件连线为:两块arduino均通过数据线连接电脑,且2,3口交叉连接。
结果:arduino1的串口调试输入08后,就一直,输出08,arduino2串口调试器没有任何输出,但发送给arduino1的串口发送数据。
arduino1的串口监视器
arduino2的串口监视器
思考:1、为什么arduino2的串口监视器 接收不到arduino1的数据?
2、为什么arduino1的串口持续输出数据?