电子说
我按照别人博客中设置串口2,串口打印有问题,因为没有看到esp32s3 多串口,就总结了一下自己的经验
ESP32-S3 有三个 UART(通用异步收发器)控制器,即 UART0、UART1、UART2,支持异步通信(RS232 和 RS485)和 IrDA,通信速率可达到 5 Mbps。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
我使用的是platformio开发,arduino ide应该同理
下图该文件下,我的路径是如下图,找到该.c文件,
这个是我的uart2的发送引脚,这个没有更改过该文件,uart2可以自定io这个没试过,毕竟是默认文件就没更改了,理论上应该可以自定义。
// Sender发送端voidsetup() {Serial.begin(115200);Serial2.begin(115200);Serial.println("i am serial 0"); }voidloop() {mySerial2.println("i am serial 2ww");delay(1000); }
最终不管芯片型号怎么改变,都可以在那个.cpp文件进行查看。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !