0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

esp32s3使用多串口

jf_49040007 来源:jf_49040007 作者:jf_49040007 2023-11-06 11:29 次阅读

esp32s3使用多串口

我按照别人博客中设置串口2,串口打印有问题,因为没有看到esp32s3 多串口,就总结了一下自己的经验

下图为esp32的引脚图

picture 0

下图为esp32s3的引脚图

picture 1

ESP32-S3 有三个 UART(通用异步收发器控制器,即 UART0、UART1、UART2,支持异步通信RS232RS485)和 IrDA,通信速率可达到 5 Mbps。UART 控制器具有如下特性:

  • 支持三个可预分频的时钟
  • 编程收发波特率
  • 三个 UART 的发送 FIFO 以及接收 FIFO 共享 1024 x 8-bit RAM
  • 全双工异步通信
  • 支持输入信号波特率自检功能
  • 支持 5/6/7/8 位数据长度
  • 支持 1/1.5/2/3 个停止位
  • 支持奇偶校验位
  • 支持 AT_CMD 特殊字符检测
  • 支持 RS485 协议
  • 支持 IrDA 协议
  • 支持 GDMA 高速数据通信
  • 支持 UART 唤醒模式
  • 支持软件流控和硬件流控

每个UART都分配有默认的 GPIO,但是根据您的 ESP32 电路设计进行更改,这些引脚可能与嵌入式闪存、板载 PSRAM 或外围设备冲突。

任何 GPIO 都可以用于使用 GPIO 矩阵的硬件 UART,因此为避免冲突,只需在构造时提供tx和 rx 引脚即可。

下面是ESP32-S3 UART的默认引脚。

UART0UART1UART2
发送(TX)IO43IO17 / 任意IO任意IO
接收(RX)IO44IO18 / 任意IO任意IO

因为我看一般说明串口1最好不要有占用,一般去使用串口0和串口2

重点怎么去知道自己arduino库是默认哪个引脚

我使用的是platformio开发,arduino ide应该同理
下图该文件下,我的路径是如下图,找到该.c文件,
picture 2

这个是我的uart2的发送引脚,这个没有更改过该文件,uart2可以自定io这个没试过,毕竟是默认文件就没更改了,理论上应该可以自定义。
picture 3

picture 6

picture 7

测试程序 UART2(TX 20 RX 19)

// Sender发送端

void setup() {
Serial.begin(115200);
Serial2.begin(115200);
Serial.println("i am serial 0");

}

void loop() {
mySerial2.println("i am serial 2ww");
delay(1000);
}

测试效果

picture 5

总结

最终不管芯片型号怎么改变,都可以在那个.cpp文件进行查看。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16185

    浏览量

    177337
  • 串口
    +关注

    关注

    14

    文章

    1543

    浏览量

    76162
  • ESP
    ESP
    +关注

    关注

    0

    文章

    181

    浏览量

    33881
收藏 人收藏

    评论

    相关推荐

    请问ESP32S3从机模式下如何连续接受帧数据?

    我们公司计划用ESP32S3做AFE主控,目前选用的AFE有2个SPI接口(1主,1从),ESP32作为主机向AFE的SPI从机端口发送命令进行控制,AFE通过其SPI主机向ESP32响应数据。所以
    发表于 06-06 06:08

    ESP32S3外置Jtag连接失败的原因?

    首先介绍一下情况: 芯片:ESP32S3 ESPIDF版本:V5.04 OpenOCD:ESPIDF自带的版本 JlinkV9:已经通过zadig-2.8切换成WinUSB 现状:已经烧毁efuse
    发表于 06-07 08:30

    esp32s3 RMT通道报错是什么原因导致的?

    esp32s3 esp-idf5.0 示例examplesperipheralsrmtstepper_motor 测试成功 然后我按照官网手册Multiple Channels
    发表于 06-07 07:01

    esp32s3 GPIO改成uart2之后没收到串口消息是怎么回事?

    esp32s3是有3个uart控制器的,我原本用的是uart1配置了GPIO17和GPIO18,能收到串口消息,但是同样的GPIO改成uart2之后好像没收到串口消息,不是说能配置成任
    发表于 06-11 06:31

    使用esp-idf-tools2.12不能搭建esp32s3开发环境是什么原因?

    各位好: 我们需要使用esp32s3开发产品,根据“esp-idf-zh_CN-v5.0-dev-890-gf5bc471-esp32s3.pdf”指导文档搭建vs code开发环境,然后从官网上
    发表于 06-27 08:20

    请问ESP32S3的PCLK的上限为多少?

    参考贵司的链接 https://docs.espressif.com/projects/esp ... .html#pclk ESP32 的 PCLK 上限为 8 MHz 。 ESP32S2 的 PCLK 上限为 32 MHz。
    发表于 06-28 11:55

    esp32s3的启动时间远大于esp32,为什么?

    我自己画了一块esp32s3的开发板,使用esp32s3-wroom-1 n8r2的模组,最近测试时发现,这个开发板在几乎没有添加额外程序时启动需要70ms,而esp32在使用相同程序测试时甚至
    发表于 07-01 06:25

    ESP32S3 通过USB烧录,烧录失败

    ESP32S3板通过usb插入电脑,电脑端COM设备能检测到串口,现象为反复连接、断开。现手动强制让ESP32S3进入烧录状态,按照官网说明,先按下boot键(GPIO0脚拉低),再按en
    发表于 09-30 10:28

    ESP32S3刷写程序不进去怎么解决?

    ESP32-S3-DevKitC-1我就是最近才出现的这个状况,刷写程序的时候刷不进去,会报错,报错的完整日志如下: ESP32S3 不能刷写 日志.txt(4.13 KiB) Downloaded 48 times
    发表于 02-09 09:12

    esp32S3无法烧写的原因是什么?

    使用的是esp32S3,IDF v4.3,环境windows 10前面的构建都可以成功,但是一进入烧写就会报错:A fatal error occurred: This chip
    发表于 02-20 08:11

    ESP32S3内部外设包括DMA之类的可以直接用ESP32的配置来启用吗?

    刚开始学习ESP32,用的是ESP32S3的模块,但是发现目前IDF4.4包括4.4.2的库对ESP32S3的支持还不完善。例如在SPI这方面,SPI的底层驱动初始化部分,DMA的选择判断里面没有
    发表于 03-06 07:10

    使用esp-idf-tools2.12不能搭建esp32s3开发环境的原因?

    我们需要使用esp32s3开发产品,根据“esp-idf-zh_CN-v5.0-dev-890-gf5bc471-esp32s3.pdf”指导文档搭建vs code开发环境,然后从官网上下载了
    发表于 03-09 06:47

    使用Arduino通过USB串行对ESP32S3进行编程和调试

    电子发烧友网站提供《使用Arduino通过USB串行对ESP32S3进行编程和调试.zip》资料免费下载
    发表于 10-19 14:50 2次下载
    使用Arduino通过USB串行对<b class='flag-5'>ESP32S3</b>进行编程和调试

    合宙ESP32-S3开发板特性解读

    MCU开发板,尺寸仅为21mm×51mm;板边采用邮票孔设计,方便开发者在不同场景下使用。 LuatOS已完成对ESP32-S3的基本适配。 最新开发资料汇总:luatos.com/t/esp32s3
    的头像 发表于 01-11 18:45 9827次阅读

    基于ESP32S3系列模组的开发板

    基于ESP32S3系列模组的开发板
    的头像 发表于 04-10 11:25 3787次阅读
    基于<b class='flag-5'>ESP32S3</b>系列模组的开发板