ESP8266的串口通信与传统的Arduino设备完全一样。除了硬件FIFO(128字节用于TX和RX)之外,硬件串口还有额外的
256字节的TX和RX缓存。发送和接收全都由中断驱动。当FIFO/缓存满时,write函数会阻塞工程代码的执行,等待空闲空间。
当FIFO/缓存空时,read函数也会阻塞工程代码的执行,等待串口数据进来。
NodeMcu上有两组串口,Serial和Serial1。 
Serial使用UART0,默认对应引脚是GPIO1(TX--D10)和GPIO3(RX--D9)
 
 
在Serial.begin执行之后,调用Serial.swap()可以将Serial重新映射到GPIO15(TX---D8)和GPIO13(RX---D7)。再次调用Serial.swap()将Serial重新映射回GPIO1--D10和GPIO3--D9。不过,一般
情况下,默认就好
 
 
例子一:映射
void setup() {
Serial.begin();
Serial.println("GPIO1(TX),GPIO3(RX)");
Serial.swap();//调用映射方法
Serial.println("GPIO15(TX1),GPIO13(RX1)");
Serial.swap();
Serial.println("GPIO1(TX),GPIO3(RX)");
}
void loop() { }
 
Serial1使用UART1,默认对应引脚是GPIO2(TX----D4)。Serial1不能用于接收数据,因为它的RX引脚被用于flash芯片连接---D3。
要使用Serial1,请调用Serial.begin(baudrate)  
如果不使用Serial1并且不映射串口,可以将UART0的TX映射到GPIO2,具体操作是:在Serial.begin()之后调用
Serial.set_tx(2)或者直接调用Serial.begin(baud,config,mode,2)。
默认情况下,当调用Serial.begin后,将禁用WiFi库的诊断输出。要想再次启动调试输出,请调用
Serial.setDebugOutput(true)。要将调试输出映射到Serial1时,需要调用Serial1.setDebugOutput(true)
调用Serial.setRxBufferSize(size_t size)允许定义接收缓冲区的大小,默认值是256(缓冲区也是使用内存,意味着不能一
味地去增大这个值)。 Serial和Serial1对象都支持5,6,7,8个数据位,奇数(O)、偶数(E)和无(N)奇偶校验,以
及1或者2个停止位。要设置所需的模式,请调用Serial.begin(baudrate, SERIAL_8N1), Serial.begin(baudrate, SERIAL_6E2)
Serial和Serial1都实现了一种新方法用来获取当前的波特率设置。要获取当前的波特率,请调用Serial.baudRate(),
Serial1.baudRate()
 
例子:---获取波特率
void setup() {
Serial.begin();
int br = Serial.baudRate(); //获取当前波特率
Serial.printf("当前波特率是 %d bps\n", br);
}
void loop() { }
 
串口用处 
一般来说,串口通信用在两个方面:
1.与外围串口设备传输数据,比如蓝牙模块、Arduino等等;
2.开发过程中用来调试代码,通过串口输出Debug信息了解程序运行信息
 
 
 
 
 
 
 
 
 
 
天子骄龙

ESP-8266 串口通信(Serial)的更多相关文章

  1. Python的扩展接口[1] -> 串口通信

    串口通信 / Serial Communication 1 串口简介 / Serial Introduction 串行接口(Serial Interface)简称串口,通常为COM接口,数据发送方式为 ...

  2. C语言dsPIC / PIC24 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新dsPIC/PIC2 ...

  3. C语言PIC18 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新PIC18 Boot ...

  4. C语言PIC16 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新PIC16 Boot ...

  5. Arduino学习笔记⑥ 硬件串口通信

    1.前言     Ardunio与计算机通信最常用的方式就是串口通信.在Arduino控制器上,串口都是位于Rx和Tx两个引脚,Arduino的USB口通过一个转换芯片与这两个串口引脚连接.该转换芯片 ...

  6. STC12C5A60S2 双串口通信

    STC12C5A60S2单片机是一款功能比较强大的单片机,它拥有两个全双工串行通信接口,串口1的功能及操作与传统51单片机串行口相同:特殊的是STC12C5A60S2单片机内部有一个独立波特率发生器, ...

  7. Mac下的串口通信-ORSSerialPort

    ================================2015/11/05======================================= 最近在工作中遇到有关Mac下串口通信 ...

  8. 【C51】UART串口通信

    我们常需要单片机和其他模块进行通信,数据传输,常用的方式就是串口通信技术. 常用来 单片机<-->电脑,  单片机<-->单片机之间通信. 串行通信 versus 并行通信 并 ...

  9. LabVIEW串口通信

    Instrument I/O 利用LabVIEW内置的驱动程序库和具有工业标准的设备驱动软件,可对 GPIB(通用接口总线).Ethernet(以太网)接口.RS-232(标准串行接口总线)/RS-4 ...

随机推荐

  1. 简单的servlet上传文件

    boolean multipartContent = ServletFileUpload.isMultipartContent(request);if (multipartContent==true) ...

  2. Hibernate框架 初识 ORM概念

    Hibernate概述 Hibernate是一个ORM(对象关系映射)映射框架,它的核心思想就是在底层对JDBC进行了一次封装. 什么是框架 IT语境中的框架,特指为解决一个开放性问题而设计的具有一定 ...

  3. jenkins 配置 gitlab webhook 实现自动发布

    测试环境需要git提交代码后,Jenkins自动部署,需要gitlab配置project webhook. 1,Jenkins版本2.89  gitlab 8.11 2,Jenkins需要安装插件:G ...

  4. magento form.html不显示 window 和 Linux下的区别

    window 无大小写区别,所以可以显示表框 Linux 大小写敏感,显示不了 \app\code\community\Company\BabyPay\Model\Payment.php 里定义了fo ...

  5. 如何在CBV中使用装饰器

    要区分函数装饰器和方法装饰器得区别 ,方法装饰器得第一个参数是self本身,所以函数装饰器不能用

  6. oracle truncate表 恢复操作

    truncate恢复表 1.创建测试用表 conn elan/elan create table haha as select * from dba_users; 2.查询表数据 ) from hah ...

  7. RSA/RSA2 进行签名和验签

    package com.byttersoft.hibernate.erp.szmy.util; import java.io.ByteArrayInputStream; import java.io. ...

  8. [转帖]预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响

    预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响   https://cloud.tencent.com/developer/article/1447879 所有的 版本 ...

  9. Oracle恢复ORA-00600: 内部错误代码, 参数: [kcratr_scan_lastbwr] 问题的简单解决

    Oracle恢复ORA-00600: 内部错误代码, 参数: [kcratr_scan_lastbwr] 1. 简单处理 sqlplus / as sysdba startup mount recov ...

  10. [百度百科]PCI-E的速度

    在早期开发中,PCIe最初被称为HSI(用于高速互连),并在最终确定其PCI-SIG名称PCI Express之前,将其名称更改为3GIO(第三代I / O). 名为阿拉帕霍工作组(AWG)的技术工作 ...