一、硬件说明
| ST7789屏幕引脚 | ESP32C3F引脚 |
|---|---|
| 3V3 | 3V3 |
| GND | GND |
| MOSI | IO_07 |
| CLK | IO_06 |
| DC | IO_08 |
| RST | IO_04 |
| BL | IO_05 |
二、ESP32的SPI外设
1. 外设功能
ESP32-C3具有三个SPI接口(SPI0、SPI1和SPI2)。
SPI0和SPI1只能配置为在SPI内存模式下操作,而SPI2可以配置为在SPI内存和通用SPI模式下操作。
在SPI主机模式下,时钟频率不超过80mhz,支持四种SPI传输格式。
SPI信号和引脚的映射图如下:

再根据IO引脚映射图,对应的IO为:

三、Helloworld工程准备
复制esp-idf-v5.0.1\examples\get-started\hello_world工程。
进行一些基础的工程配置,确保helloworld能正常运行。
比如我使用的NodeMCU开发板比较老,还用的是外置2MB flash,所以配置最低支持版本为v0.2。

四、编写st7789驱动
移植我之前写的st7789驱动,适配esp32的gpio接口和spi接口即可。
源码:https://github.com/Mculover666/HAL_Driver_Lib/tree/master/LCD-SPI
在components文件夹中,加入LCD_SPI文件夹,并添加一个CmakeList.txt,即可使用:
idf_component_register(SRCS "lcd_spi_drv.c"
INCLUDE_DIRS "."
PRIV_REQUIRES "driver")

在app_main任务中添加lcd_init调用,即可看到LCD屏幕被点亮。


















![运行Spring Boot项目时[ java: 错误: 不支持发行版本 17 ]](https://img-blog.csdnimg.cn/ff6316686e8c4b2ab3c1f8933984eed7.png)
