ESP32 (UART ECOH)-串口串口回声虫学习(2)

提示:本博客作为学习笔记,有错误的地方希望指正

文章目录

  • 一、ESP32串口介绍
  • 二、硬件设计
  • 三、实现代码;
  • 四、串口实验演示结果
  • 五、ESP32串口函数API
    • 5.1、uart_types.h文件中的内容的API
    • 5.2、在uart.h文件中的内容的API

一、ESP32串口介绍

UART 是一种以字符为导向的通用数据链,可以实现设备间的通信。异步传输的意思是不需要在发送数据上添加时钟信息。这也要求发送端和接收端的速率、停止位、奇偶校验位等都要相同,通信才能成功。
一个典型的 UART 帧开始于一个起始位,紧接着是有效数据,然后是奇偶校验位(可有可无),最后是停止位。
ESP32 上的 UART 控制器支持多种字符长度和停止位。另外,控制器还支持软硬件流控和 DMA,可以实现无缝高速的数据传输。开发者可以使用多个 UART 端口,同时又能保证很少的软件开销。
ESP32 芯片中有 3 个 UART 控制器可供使用,并且兼容不同的 UART 设备。另外,UART 还可以用作红外数据交换 (IrDA) 或 RS-485 调制解调器。
可编程收发波特率
3 个 UART 的发送 FIFO 以及接收 FIFO 共享 1024 × 8-bit RAM
全双工异步通信
支持输入信 波特率自检功能
支持 5/6/7/8 位数据长度
支持 1/1.5/2/3 个停止位
支持奇偶校验位
支持 RS485 协议
支持 IrDA 协议
支持 DMA 高速数据通信
支持 UART 唤醒模式
支持软件流控和硬件流控
值得注意的是ESP32的三路串口中串口0不支持引脚的修改默认是RGIO1作为RX,GPIO3作为TX,配置的时候需要注意下,串口0默认使用作为下载程序使用和ESP_LOG的输出。UART1默认引脚是GPIO9用作U1RXD,GPIO10用作U1TXD,但是这两个引脚也是用于外接flash的,因此在使用UART1的时候需要设置其他引脚,UART2默认引脚是GPIO16用作U2RXD,GPIO17用作U2TXD。

二、硬件设计

这里的硬件设置就是使用的是M5Stack的硬件来实现串口通讯协议实验演示的。

四、串口实验演示结果

ESP32 (UART ECOH)-串口串口回声虫学习(2)

五、ESP32串口函数API

5.1、uart_types.h文件中的内容的API

uart_types.h文件中的内容基本上实现的是一些串口协议的设置结构体

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月16日
下一篇 2022年3月16日

相关推荐