1. 概述与引脚复用
《ESP32-C3 系列芯片技术规格书》中提到,ESP32-C3系列芯片中有两路串口。
第1路串口就是常用的调试串口,在笔者使用的ESP32-C3-DevKitC-02开发板中,这一路串口通过CP2102 USB转UART桥芯片与电脑的USB口相连接,最终在电脑中识别为串口(COM)设备。在ESP-IDF命令行、VSCode环境以及串口调试助手软件下可以看到此路串口的数据。
在ESP32-C3-DevKitC-02开发板中,调试串口选择的是GPIO20(U0RxD)和GPIO21(U0TxD)(引自ESP32-C3-DevKitC-02 - ESP32-C3 - — ESP-IDF 编程指南 latest 文档 (espressif.com))。
但是第2路串口笔者一度没有找到相对应的芯片引脚。后来联系了乐鑫的技术支持才注意到,ESP32-C3是任意引脚都能当作串口,这点和之前笔者玩过的开发板还真不一样。参见《ESP32-C3 系列芯片技术规格书》中对应内容:
看到这里,可能有人会有和笔者同样的疑问,调试串口那两个引脚是随意定的吗?还真不是,是系统默认推荐的。参考《ESP32-C3 系列芯片技术规格书》中对应内容:
第1路串口弄明白了,那么第2路串口如何添加?
先来了解一下ESP32-C3的引脚复用。参见《ESP32-C3 技术参考手册》第5章 IO MUX和GPIO交换矩阵:
ESP32-C3芯片有22个物理通用输入输出管脚(GPIO Pin),每个管脚都可用作一个通用IO,或连接一个内部的外设信号。利用GPIO交换矩阵和IO MUX,可配置外设模块的输入信号来源于任何的IO管脚,并且外设模块的输出信号也能连接到任意IO管脚。这些模块共同组成了芯片的IO控制。
注意:这22个物理GPIO管脚的编号为:0~21。
详细复用见下图(参见《ESP32-C3 系列芯片技术规格书》):
关于ESP32-C3系列芯片的引脚复用相关内容就介绍到这里,下一回开始详细讲解第2路串口硬软件的打通步骤。