前言
本节,我将带领大家熟悉WeMos D1串口开发,并利用两个串口实现数据收发以及打印调试。
一、基础知识
1 串口简介
串口是WeMos D1开发板与其它设备进行穿行通信的接口,所谓串行通信其实是指数据一位一位顺序传送给目标设备。
数据按位发送,默认是8位数据位,1位停止位,无校验方式传输。
串口传输数据方式有三种:单工传送(一方发送,另一方接收)、半双工(两方均可发送,但不能同时发送)、全双工(两方可以同时发送,wemos D1默认使用这种方式)
二、函数说明
函数说明如下表所示:
三、实例程序
实例程序实现串口0接收到数据后,通过串口0和串口1打印出来。
char byte_recv = 0;
String data_recv = "";
int flag_recv_str = 0;
void setup() {
// put your setup code here, to run once:
pinMode(BUILTIN_LED, OUTPUT);
digitalWrite(BUILTIN_LED, LOW);
Serial1.begin(9600);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
while (Serial.available() > 0) {
byte_recv = Serial.read();
Serial1.print("recv_byte:");
Serial1.println(byte_recv, HEX);
Serial.print("recv_byte:");
Serial.println(byte_recv, DEC);
flag_recv_str = 1;
data_recv += byte_recv;
delay(10);
}
if (1 == flag_recv_str){
flag_recv_str = 0;
Serial.print("recv_str:");
Serial.println(data_recv);
Serial1.print("recv_str:");
Serial1.println(data_recv);
data_recv = "";
}
}
四、运行
1 实物连接
2 运行结果
串口0接到电脑是COM6端口,串口1通过串口小板连接到电脑是COM8端口。
五、结语
1.总结:
本节完,实际操作过程中需要注意的地方有如下几点:
(1) 串口1只有TX
串口1只有TX,没有RX,可以作为打印调试信息的串口使用,另一组串口可以控制外设。
2.后记:
如您在使用过程中有任何问题,请加QQ群进一步交流,也可以github提Issue。
QQ交流群:906015840 (备注:物联网项目交流)
github仓库地址:https://github.com/solitary-sand/wemos/
一叶孤沙出品:一沙一世界,一叶一菩提