使用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_5N1 5 1
SERIAL_6N1 6 1
SERIAL_7N1 7 1
SERIAL_8N1(默认配置) 8 1
SERIAL_5N2 5 2
SERIAL_6N2 6 2
SERIAL_7N2 7 2
SERIAL_8N2 8 2
SERIAL_5E1 5 1
SERIAL_6E1 6 1
SERIAL_7E1 7 1
SERIAL_8E1 8 1
SERIAL_5E2 5 2
SERIAL_6E2 6 2
SERIAL_7E2 7 2
SERIAL_8E2 8 2
SERIAL_5O1 5 1
SERIAL_6O1 6 1
SERIAL_7O1 7 1
SERIAL_8O1 8 1
SERIAL_5O2 5 2
SERIAL_6O2 6 2
SERIAL_7O2 7 2
SERIAL_8O2 8 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 ——串口通信的介绍就讲到这里了,如果什么问题请再评论区留言。

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

物联沃分享整理
物联沃-IOTWORD物联网 » 使用Arduino IDE开发ESP8266(ESP-12F)项目3:串口通信

发表评论