esp32s3使用多串口
我按照別人博客中設置串口2,串口打印有問題,因為沒有看到esp32s3 多串口,就總結了一下自己的經(jīng)驗
下圖為esp32的引腳圖
下圖為esp32s3的引腳圖
ESP32-S3 有三個 UART(通用異步收發(fā)器)控制器,即 UART0、UART1、UART2,支持異步通信(RS232 和 RS485)和 IrDA,通信速率可達到 5 Mbps。UART 控制器具有如下特性:
- 支持三個可預分頻的時鐘源
- 可編程收發(fā)波特率
- 三個 UART 的發(fā)送 FIFO 以及接收 FIFO 共享 1024 x 8-bit RAM
- 全雙工異步通信
- 支持輸入信號波特率自檢功能
- 支持 5/6/7/8 位數(shù)據(jù)長度
- 支持 1/1.5/2/3 個停止位
- 支持奇偶校驗位
- 支持 AT_CMD 特殊字符檢測
- 支持 RS485 協(xié)議
- 支持 IrDA 協(xié)議
- 支持 GDMA 高速數(shù)據(jù)通信
- 支持 UART 喚醒模式
- 支持軟件流控和硬件流控
每個UART都分配有默認的 GPIO,但是根據(jù)您的 ESP32 電路設計進行更改,這些引腳可能與嵌入式閃存、板載 PSRAM 或外圍設備沖突。
任何 GPIO 都可以用于使用 GPIO 矩陣的硬件 UART,因此為避免沖突,只需在構造時提供tx和 rx 引腳即可。
下面是ESP32-S3 UART的默認引腳。
UART0 | UART1 | UART2 | |
---|---|---|---|
發(fā)送(TX) | IO43 | IO17 / 任意IO | 任意IO |
接收(RX) | IO44 | IO18 / 任意IO | 任意IO |
因為我看一般說明串口1最好不要有占用,一般去使用串口0和串口2
重點怎么去知道自己arduino庫是默認哪個引腳
我使用的是platformio開發(fā),arduino ide應該同理
下圖該文件下,我的路徑是如下圖,找到該.c文件,
這個是我的uart2的發(fā)送引腳,這個沒有更改過該文件,uart2可以自定io這個沒試過,畢竟是默認文件就沒更改了,理論上應該可以自定義。
測試程序 UART2(TX 20 RX 19)
// Sender發(fā)送端
void setup() {
Serial.begin(115200);
Serial2.begin(115200);
Serial.println("i am serial 0");
}
void loop() {
mySerial2.println("i am serial 2ww");
delay(1000);
}
測試效果
文章來源:http://www.zghlxwxcb.cn/news/detail-767387.html
總結
最終不管芯片型號怎么改變,都可以在那個.cpp文件進行查看。文章來源地址http://www.zghlxwxcb.cn/news/detail-767387.html
到了這里,關于esp32s3使用多串口的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!