上个月在立创商城搞了一块ESP32S3R8N8,然后从优信电子淘了一块1.69寸ISP的屏幕,来学习lvgl相关的知识这两个电子元器件还是很精致的。立创在学习资料还是非常丰富的。可以从入门到精通。 对于ESP32S3R8N8,立创提供了几中语言和开发工具的入门(如下图),我选择了Arduino赛道。 我选择VS code +Platformio 来进行我的1.69寸显示屏点亮。在 platformio搭建Arduino环境,参照LED成功比点亮。简单的几行代码就可以点亮外设。真的跟搭积木一样,在上层应用,无需管底层, 在硬件软件没问题后,开始进一步去开发显示。按照接线和CSDN Hi1L 博主的教程“ ESP32】立创ESP32S3R8N8开发板+2.8寸TFT电容触摸屏 +PlatformIO+LVGL测试” 开始了显示的按部就班学习。了解SPI,接线,Platformio的库的安装调用等等,每一步都很顺利,每一步都一模一样。但是结果就很奇怪,产品就是没有点亮显示屏(我还特地去咨询博主,还未回复)。显示屏只有背光没有画面(如下图)。 我找了好多例程和咨询了很多个渠道,困扰了我几天,依旧没有起色。起初以为是不是线束(杜邦线)问题,更换了还一样。然后又排查了软件,更改了接口都没什么问题,依旧还是只有背光无显示。 后来以为显示屏问题(还屁颠去咨询客服),为了找到源头,进一步确认原因,我尝试了用立创IDE例程代码和接线。成功的点亮了TFT(但是不是用的Arduino是IDF)。证明硬件是没有问题(如下图)。 经过前面的排查后,我又把问题聚焦到了Platformio开发这里。我一定要找到这个问题的原因。在不经意经我翻到了一篇博客”PlatformIO下ESP32使用TFT_eSPI库无限重启,报StoreProhibited错误详细解决方案” 里面说 esp32核心版本太高了,ESP32-S3下的TFT_eSPI库并不适配,产生兼容性问题。需要降版本。 我回想起自己之前好像更新了版本。我打开Platformio-》Platforms我发现我用的是6.10.0对应的Arduino - v2.0.17 (based on IDF v4.4.7)比博客介绍的还要高(如下图) 于是我按照教程,在platformio.ini里加入了“@6.5.0”,待版本安装好后,编译,下载。 Bingo!显示屏终于正常显示了(如下图), 解决了困扰我许久的ESP32点亮ST7789V2 1.69寸显示问题。虽然这是个很小的问题,但对于刚使用此环境的小白来说,需要去修复他需要很长时间。 附上简单显示代码 #include Arduino.h #include SPI.h #include TFT_eSPI.h // Hardware-specific library #define TFT_GREY 0x5AEB TFT_eSPI tft = TFT_eSPI(); // Invoke custom library void setup() { tft.init(); tft.setRotation(0); tft.fillScreen(TFT_GREY); tft.setTextColor(TFT_WHITE, TFT_GREY); // Adding a background colour erases previous text automatically tft.fillRect(0, 0, 240, 50, TFT_RED); tft.fillRect(0, 50, 240, 50, TFT_GREEN); tft.fillRect(0, 100, 240, 50, TFT_BLUE); tft.drawCentreString("Time flies", 120, 260, 4); } void loop() { // put your main code here, to run repeatedly: }