1. 环境准备与工程创建
第一次接触ESP32和ST7789屏幕的组合时,我被各种配置项搞得晕头转向。后来发现只要环境搭对了,后面就像搭积木一样简单。这里我用的是VSCode+ESP-IDF的组合,实测比Arduino环境更稳定,适合长期开发。
安装ESP-IDF插件时有个小技巧:不要直接点安装,先去官网下载离线安装包。我遇到过网络问题导致的环境配置失败,离线包能避免90%的奇怪错误。装好后创建新工程,选择"ESP-IDF: New Project",工程名建议包含"st7789"方便后续管理。
创建工程时有个关键选择:SPI模式还是8080并行接口?ST7789通常用SPI,占用引脚少。我建议新手直接选官方例程中的"spi_lcd_touch"模板,这个已经包含了基础驱动框架,能省去很多底层配置工作。
2. 驱动文件改造实战
官方组件库默认没有ST7789驱动,但有个好消息:GC9A01的驱动和ST7789兼容度很高。我试过直接修改,成功率在95%以上。具体操作分三步走:
第一步找到managed_components/espressif__esp_lcd_gc9a01文件夹,复制后重命名为espressif__esp_lcd_st7789。注意这里有两个下划线,我第一次漏掉导致编译失败。
第二步是全局替换,用VSCode的全局搜索功能(Ctrl+Shift+F)替换所有"GC9A01"为"ST7789"。这里有个坑:头文件里的宏定义也要改,比如GC9A01_CMD_SLPOUT要改成ST7789_CMD_SLPOUT。我建议用区分大小写的替换模式,避免漏改。
第三步修改Kconfig文件,在main/Kconfig.projbuild里添加:
config LCD_CONTROLLER_ST7789
bool "ST7789"
default y
2万+




被折叠的 条评论
为什么被折叠?



