最近在使用合宙 ESP32C3 开发板调试 tft 显示屏过程中,遇到通过 PWM 无法调整显示屏亮度的问题。现在将调试过程进行总结。
硬件连接是参考合宙 LCD 扩展板。
但调试过程发现无法调整显示屏的亮度,在这里卡了好久。后来翻阅官方文档,在开发板管脚定义页面发现一条有用信息。
GPIO 11 默认为 SPI flash 的 VDD 引脚,需要配置后才能作为 GPIO 使用。
此页面并没有说如何配置,通过网上查阅,将配置过程总结如下:
ESP32C3 的 GPIO11 (VDD_SPI)默认功能是给 flash 供电,合宙开发板(能不能烧看原理图)VDD 直接接 3.3V,所以可以将此 IO 用作 GPIO,以下是操作流程,注意以下的操作只能执行一次,更改后不能复原(因为是设置熔丝位,不是寄存器,一次性操作)。
- 使用 python 的 pip 安装 esptool
pip install esptool
-
将开发板插入电脑,在设备管理器查看串口号
-
打开命令行窗口输入(
需要开发板处于下载模式
)
espefuse.py -p COM14 burn_efuse VDD_SPI_AS_GPIO 1
COM14 是上一步设备管理器看到的端口号
- 根据提示,输入
BURN
确认
经过以上步骤,GPIO11 才能当作 gpio 来用。
重启后,tft 显示屏就可以控制亮度了。