esp32s3使用多串口
我按照別人博客中設(shè)置串口2,串口打印有問(wèn)題,因?yàn)闆](méi)有看到esp32s3 多串口,就總結(jié)了一下自己的經(jīng)驗(yàn)
下圖為esp32的引腳圖
下圖為esp32s3的引腳圖
ESP32-S3 有三個(gè) UART(通用異步收發(fā)器)控制器,即 UART0、UART1、UART2,支持異步通信(RS232 和 RS485)和 IrDA,通信速率可達(dá)到 5 Mbps。UART 控制器具有如下特性:
- 支持三個(gè)可預(yù)分頻的時(shí)鐘源
- 可編程收發(fā)波特率
- 三個(gè) UART 的發(fā)送 FIFO 以及接收 FIFO 共享 1024 x 8-bit RAM
- 全雙工異步通信
- 支持輸入信號(hào)波特率自檢功能
- 支持 5/6/7/8 位數(shù)據(jù)長(zhǎng)度
- 支持 1/1.5/2/3 個(gè)停止位
- 支持奇偶校驗(yàn)位
- 支持 AT_CMD 特殊字符檢測(cè)
- 支持 RS485 協(xié)議
- 支持 IrDA 協(xié)議
- 支持 GDMA 高速數(shù)據(jù)通信
- 支持 UART 喚醒模式
- 支持軟件流控和硬件流控
每個(gè)UART都分配有默認(rèn)的 GPIO,但是根據(jù)您的 ESP32 電路設(shè)計(jì)進(jìn)行更改,這些引腳可能與嵌入式閃存、板載 PSRAM 或外圍設(shè)備沖突。
任何 GPIO 都可以用于使用 GPIO 矩陣的硬件 UART,因此為避免沖突,只需在構(gòu)造時(shí)提供tx和 rx 引腳即可。
下面是ESP32-S3 UART的默認(rèn)引腳。
UART0 | UART1 | UART2 | |
---|---|---|---|
發(fā)送(TX) | IO43 | IO17 / 任意IO | 任意IO |
接收(RX) | IO44 | IO18 / 任意IO | 任意IO |
因?yàn)槲铱匆话阏f(shuō)明串口1最好不要有占用,一般去使用串口0和串口2
重點(diǎn)怎么去知道自己arduino庫(kù)是默認(rèn)哪個(gè)引腳
我使用的是platformio開(kāi)發(fā),arduino ide應(yīng)該同理
下圖該文件下,我的路徑是如下圖,找到該.c文件,
這個(gè)是我的uart2的發(fā)送引腳,這個(gè)沒(méi)有更改過(guò)該文件,uart2可以自定io這個(gè)沒(méi)試過(guò),畢竟是默認(rèn)文件就沒(méi)更改了,理論上應(yīng)該可以自定義。
測(cè)試程序 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);
}
測(cè)試效果
總結(jié)
最終不管芯片型號(hào)怎么改變,都可以在那個(gè).cpp文件進(jìn)行查看。
審核編輯 黃宇
-
控制器
+關(guān)注
關(guān)注
114文章
17113瀏覽量
184321 -
串口
+關(guān)注
關(guān)注
15文章
1588瀏覽量
79950 -
ESP
+關(guān)注
關(guān)注
0文章
192瀏覽量
35042
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問(wèn)ESP32S3從機(jī)模式下如何連續(xù)接受多幀數(shù)據(jù)?
ESP32S3外置Jtag連接失敗的原因?
esp32s3 RMT多通道報(bào)錯(cuò)是什么原因?qū)е碌模?/a>
esp32s3 GPIO改成uart2之后沒(méi)收到串口消息是怎么回事?
使用esp-idf-tools2.12不能搭建esp32s3開(kāi)發(fā)環(huán)境是什么原因?
請(qǐng)問(wèn)ESP32S3的PCLK的上限為多少?
esp32s3的啟動(dòng)時(shí)間遠(yuǎn)大于esp32,為什么?
ESP32S3 通過(guò)USB燒錄,燒錄失敗
ESP32S3刷寫(xiě)程序不進(jìn)去怎么解決?
esp32S3無(wú)法燒寫(xiě)的原因是什么?
ESP32S3內(nèi)部外設(shè)包括DMA之類的可以直接用ESP32的配置來(lái)啟用嗎?
使用esp-idf-tools2.12不能搭建esp32s3開(kāi)發(fā)環(huán)境的原因?
使用Arduino通過(guò)USB串行對(duì)ESP32S3進(jìn)行編程和調(diào)試

評(píng)論