问题描述
ESP8266有一个默认硬件串口实现运行日志的输出,若想实现与其他硬件进行双工通讯就需要自定义串口实现通信功能。
解决方法
利用Arduino官方的SoftwareSerial函数库,创建软件串口,实现串口功能。
具体实现
以下代码功能是将自定义串口接收的数据通过内部串口打印出来。
#include <SoftwareSerial.h>
//自定义串口 (RX, TX)
SoftwareSerial MySerial(D6, D7);
String xdata;
void setup() {
Serial.begin(115200); //串口初始化
MySerial.begin(115200); //串口初始化
}
String receive() {
String data;
if (MySerial.available()) {
data = (char)MySerial.read();
data += receive();
}
return data;
}
void loop() {
xdata = receive();
if (xdata != "") {
Serial.println(xdata);
}
}
结果如下图所示(COM7是USART0,COM8是自定义串口):
个人广告
可接单片机类型毕业设计、代写关键函数。
![](https://i-blog.csdnimg.cn/blog_migrate/96ba64a1ac1efa6ca31dc5d52d134659.png#pic_center)