首页 > 其他分享 >esp32s3使用多串口

esp32s3使用多串口

时间:2023-11-06 11:36:02浏览次数:41  
标签:引脚 UART 串口 支持 esp32s3 IO 使用

esp32s3使用多串口

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

下图为esp32的引脚图

picture 0

下图为esp32s3的引脚图

picture 1

ESP32-S3 有三个 UART(通用异步收发器)控制器,即 UART0、UART1、UART2,支持异步通信(RS232 和 RS485)和 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的默认引脚。

UART0 UART1 UART2
发送(TX) IO43 IO17 / 任意IO 任意IO
接收(RX) IO44 IO18 / 任意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文件进行查看。

标签:引脚,UART,串口,支持,esp32s3,IO,使用
From: https://www.cnblogs.com/smallwxw/p/17812276.html

相关文章

  • 使用VLOOKUP函数进行内容匹配填充
    =VLOOKUP(J5,$D$5:$F$18,2,FALSE)=VLOOKUP(J5,$D$5:$F$18,3,FALSE)......
  • 使用Github Actions构建Docker image
    需求因为网络和性能的原因,有些Dockerfile无法在本地顺利构建。我们可以借助GithubActions每月2000分钟的免费时间来构建。实现在你的仓库里放好Dockerfile如果需要安装文件等操作也一并push建立.github/workflows/main.yml描述任务name:DockerImageCIon:push:......
  • Oracle高级技巧:使用PIVOT函数和窗口函数解决只查询一条数据的问题
    写本博客的目为了温故而知新把学习过程记录下来,以备后查。当我们需要将表格中的行转置为列时,通常可以使用PIVOT函数来实现。但是在某些情况下,由于创建日期等字段相同,只有一条数据会被查询出来。这时候,我们就可以使用窗口函数进行分组和排序,以便返回具有相同创建日期的所有记录。......
  • CRM系统使用率低的原因有哪些?
     在企业级SaaS细分赛道中,CRM客户管理系统拥有25%的覆盖率,遥遥领先于ERP、协同办公、人力资源、财税软件。如此庞大的市场空间仍掩饰不了一个现实状况——过低的CRM使用率。那么导致CRM系统使用率低的原因有哪些?CRM使用率低的表现1、开了账号却不用,账号放过期;2、常用的功能少......
  • 如何使用 Loadgen 来简化 HTTP API 请求的集成测试
    引言在编写HTTP服务的过程中,集成测试[1]是保证程序正确性的重要一环,如下图所示,其基本的流程就是不断向服务发起请求然后校验响应的状态和数据等:为大量的API和用例编写测试是一件繁琐的工作,而Loadgen[2]正是为了简化这一过程而设计的。一个简单的测试假定我们在127.......
  • C++使用冒泡排序算法对数组进行排序
     #include<iostream>//包含iostream库usingnamespacestd;//使用标准命名空间intmain(){//主函数intarr[]={5,3,2,8,6,7,1,4};//定义并初始化数组intn=sizeof(arr)/sizeof(arr[0]);//计算数组长度//使用冒泡排序算法对数组进......
  • CRM系统使用率低?如何提高
    CRM客户管理系统采购以后不投入使用,或者用了却用不好,都是极大的浪费。在知道CRM系统使用率低的原因之后,就要通过有效的方法提升CRM使用率。下面整理了六个方法,告诉您如何提高CRM系统的使用率。有人演奏不出优美的曲子,就怪罪乐器不好。在商业领域,太多人纠结于工具的好坏和软件使......
  • 使用蒙特卡罗模拟的投资组合优化
    在金融市场中,优化投资组合对于实现风险与回报之间的预期平衡至关重要。蒙特卡罗模拟提供了一个强大的工具来评估不同的资产配置策略及其在不确定市场条件下的潜在结果。我们的目标是开发一个蒙特卡罗模拟模型的投资组合优化。参与者将被要求构建和分析由各种资产类别(例如,股票,债......
  • prometheus安装及使用
    一、官网下载地址https://prometheus.io/download/1、选择操作系统Linux,默认架构amd64即可。     2、主程序下载链接点击此处https://github.com/prometheus/prometheus/releases/download/v2.35.0/prometheus-2.35.0.linux-amd64.tar.gz3、警告工具https://github.com/promet......
  • tinymce的imgtools插件的使用
    使用TinyMCE的imgtools插件可以实现在编辑器中旋转和翻转图片,以及编辑图片等操作。具体使用方法如下:安装TinyMCE和imgtools插件。可以通过npm安装TinyMCE和imgtools插件,然后在编辑器中引入相关依赖。配置工具条按钮。通过添加工具条按钮,可以实现在编辑器中旋转和翻转图片,以及编辑图......