0


基于Arduino IDE开发的ESP8266(ESP-12F)项目3 ——串口通信

** 本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!!**

日后及时修正!感谢支持!

欢迎大家的关注 点赞 收藏 留言


前言

一、新建工程

二、项目函数介绍

三、代码编写

四、编译、烧录、运行

五、代码进阶

结束语


前言

    串口作为每一位单片机开发者查看其运行状态的一项有效手段、无论你是学习51单片机还是STM32等,一部分人喜欢使用串口作为其开发项目,调试单片机的一项有效手段。可以说串口的使用可以让自己的程序开发事半功倍。那接下来就带大家走入串口的教程。

一、新建工程

    首先打开Arduino IDE,点击 文件——> 点击新建,就会生成一个新的工程模板了。 (还可以点任务栏中“折了一角的书页”快速新建)。

然后给项目重命名,然后再保存。

这样一个新的工程就建好了。


二、项目基本函数介绍

1. 常用函数

(1)Serial.begin(speed)函数

Serial.begin(speed)

功能使用串口与计算机通信,需要先使用Serial.begin() 初始化ESP8266的串口通信功能作用初始化串口,可配置串口的各项参数入口参数波特率
串口通信通常会使用以下波特率:
300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200

此函数下默串口模式为:数据位8,无偶校验,停止位1。

    想配置串口模式其函数为:
Serial.begin(speed, config)

参数说明speed波特率config数据位、校验位、停止位配置
函数使用:

    例如Serial.begin(9600,SERIAL_8E2) 是将串口波特率设为9600,数据位8,偶校验,停止位2。

下面就是串口可以用到的模式:
config可选配置数据位校验位停止位SERIAL_5N15无1SERIAL_6N16无1SERIAL_7N17无1SERIAL_8N1(默认配置)8无1SERIAL_5N25无2SERIAL_6N26无2SERIAL_7N27无2SERIAL_8N28无2SERIAL_5E15偶1SERIAL_6E16偶1SERIAL_7E17偶1SERIAL_8E18偶1SERIAL_5E25偶2SERIAL_6E26偶2SERIAL_7E27偶2SERIAL_8E28偶2SERIAL_5O15奇1SERIAL_6O16奇1SERIAL_7O17奇1SERIAL_8O18奇1SERIAL_5O25奇2SERIAL_6O26奇2SERIAL_7O27奇2SERIAL_8O28奇2
(2)Serial.print()函数

Serial.print(val)

功能串口初始化完成后,我们便可以使用Serial.print() 向计算机发送信息了。作用向计算机打印信息val是你要输出的数据,各种类型的数据均可
还有个进阶函数:

Serial.println(val)

作用输出完指定数据后,再输出一组回车换行符
(3)Serial.read()函数
作用接收串口数据
**2. 串口的其他函数 **

    其他函数数量多,功能复杂,在这里就不过多介绍了!下面给出地址教给大家自己学习吧!

下面给出学习的地址:

串口其他函数 (arduino.cn)https://wiki.arduino.cn/?file=005-%E4%B8%B2%E5%8F%A3%E9%80%9A%E4%BF%A1/004-%E5%85%B6%E4%BB%96%E5%87%BD%E6%95%B0


三、代码编写

    可以看见我的开发板的上带的CH340接的是板子上的串口0,也就是GPIO1、GPIO3引脚。

    示例代码如下:
int counter=0; // 计数器

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

void loop() {
  // 每loop循环一次,计数器变量加1
  counter = counter+1;
  // 输出变量
  Serial.print(counter);
  // 输出字符
  Serial.print(":");
  // 输出字符串;
  Serial.println("Hellow World");
  delay(1000);
}

四、编译、烧录、运行

    在我前一篇博文就介绍了如何编译、烧录,这里就不再过多赘述了,还望谅解!

这里就可以看见串口打印以计数递增的顺序打印Hello Word。


五、代码进阶

    通过电脑串口发送字符控制LED灯的电亮。

接下来就演示进阶示例代码:

void setup() {
  // put your setup code here, to run once:
  pinMode(2,OUTPUT);
  Serial.begin(115200,SERIAL_8N1);
  while (!Serial) {
        ; // wait for serial port to connect. 等待串口连接。
      }

  Serial.println("我准备好了!");
}

char ch=0;

void loop() {
  // put your main code here, to run repeatedly:
  
//  Serial.print("helloward!");
//  Serial.println("我准备好了!");
  ch=char(Serial.read()); 
  if(ch=='A')
  {
      digitalWrite(2,LOW);
      delay(1000);
      Serial.println(ch);
  }
  else
  {
      digitalWrite(2,HIGH);
  }
}

现象:


结束语

    关于此次基于Arduino IDE开发的ESP8266(ESP-12F)项目3 ——串口通信的介绍就讲到这里了,如果什么问题请再评论区留言。

    接下来会陆陆续续发布一些其他的教程,敬请期待!感谢大家的支持!如有觉得这篇文章对你有所帮助的,还请点赞、收藏吧!

本文转载自: https://blog.csdn.net/weixin_53787556/article/details/126001821
版权归原作者 电控_RMer 所有, 如有侵权,请联系我们删除。

“基于Arduino IDE开发的ESP8266(ESP-12F)项目3 ——串口通信”的评论:

还没有评论