乐鑫技术交流
直播中

贾永世

7年用户 1772经验值
私信 关注
[问答]

RTS和CTS可以使用哪些引脚呢?

我对从 ESP32-S2-WROOM 到我的主机设备的 UART 接线非常困惑。
主机设备需要 RX、TX、RTS 和 CTS。由于我使用 UART0 进行编程,因此我想使用 UART1 在我的主机设备和 ESP32 之间进行通信
从一些参考示意图和谷歌搜索,我认为我可以使用代码:
GPIO33 as RX and GPIO34 as TX
. 那么,现在我的问题是,RTS 和 CTS 可以使用哪些引脚?
当我阅读数据表时,似乎大多数 GPIO 引脚都可以通过复用设置为 UART1。
此外,如果我查看数据表,我应该为此使用 GPIO17、18、19 和 20。
但不管怎么说。长话短说,我想在 GPIO33 和 dGPIO34 旁边的 UART1 中使用 RTS 和CTS



回帖(3)

刘埃生

2023-3-1 17:06:05
实际上,您可以使用任何 GPIO(前提是它们不用于闪存或 psram)。数据表中指示的引脚是“默认”引脚(好吧,它们实际上是通过 IOMUX 而不是 GPIO 矩阵混合的,但是对于 UART,两者之间并没有什么区别)
举报

王辉

2023-3-1 17:06:34
实际上可以将任何 GPIO 分配为 UART1 元素。
我的主要困惑来自数据表本身。我的印象是我只能为“功能”表指示的 UART1 分配引脚。
例如;
虽然这确实表明了 Muxing 的 UART 元素;
IO17 20 I/O/T RTC_GPIO17、GPIO17、U1TXD、ADC2_CH6、DAC_1
IO18 21 I/O/T RTC_GPIO18、GPIO18、U1RXD、ADC2_CH7、DAC_2、CLK_OUT3
这不表示任何用于复用的 UART 元件;
IO26 25 I/O/T SPICS1, GPIO26
我的理解是,与 UART 相比,我们应该坚持“功能”表,不是吗?
举报

杨海清

2023-3-1 17:06:47
这基本上是正确的,但它有点复杂。例如,对于 SPI,如果速度非常重要 (>=40MHz),您应该坚持使用指示的引脚,否则您可以使用任何引脚。一般而言:如有疑问,请查看 TRM 章节以查看外设是否可以通过 GPIO 矩阵进行路由,或者(有时更快)查看 ESP-IDF API 是否允许您选择自己的 IO 引脚。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分