解决ESP32S3 TFT_eSPI无限重启的问题
最近在研究esp32s3利用arduino下的TFT_eSPI库和LVGL开发界面。但是遇到了运行所有示例代码都会无限重启的问题(esp32则没有这个问题)。在网上查到如下文章,发现降低开发板版本到2.0.14,tft_espi版本到2.4.79后确实可以解决问题。但是每次打开arduino后IDE都会提示有新版本可用很麻烦。于是在github上又查到如下文章,发现只要在tft_espi 的set
·
硬件:ESP32S3
库版本:TFT_eSPI 2.5.4.3
开发板版本:esp32 3.0.7
最近在研究esp32s3利用arduino下的TFT_eSPI库和LVGL开发界面。但是遇到了运行所有示例代码都会无限重启的问题(esp32则没有这个问题)。在网上查到如下文章,发现降低开发板版本到2.0.14,tft_espi版本到2.4.79后确实可以解决问题。
esp32使用TFT_eSPI库一直重启问题_esp32 vs tft.begin() 卡死-CSDN博客
但是每次打开arduino后IDE都会提示有新版本可用很麻烦。于是在github上又查到如下文章,发现只要在tft_espi 的setup.h配置文件中加入一个宏定义就能完美解决。
#define USE_HSPI_PORT
TFT Feather S3 resets when init() is called · Issue #3568 · Bodmer/TFT_eSPI · GitHub
我用的是ili9341 2.8寸320*240的屏幕,相应的配置文件如下:
// Setup for the ESP32 S3 with ILI9341 display
// Note SPI DMA with ESP32 S3 is not currently supported
#define USER_SETUP_ID 70
// See SetupX_Template.h for all options available
#define ILI9341_DRIVER
// Typical board default pins - change to match your board
#define TFT_CS 13 // 10 or 34 (FSPI CS0)
#define TFT_MOSI 10 // 11 or 35 (FSPI D)
#define TFT_SCLK 9 // 12 or 36 (FSPI CLK)
#define TFT_MISO 3 // 13 or 37 (FSPI Q)
#define TFT_BL 46
#define TFT_BACKLIGHT_ON HIGH
// Use pins in range 0-31
#define TFT_DC 11
#define TFT_RST 12
#define TOUCH_CS 18 // Optional for touch screen
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
// FSPI port (SPI2) used unless following defined. HSPI port (SPI3) NOT TESTED YET
//ESP32S3一定要加上这句!!!
#define USE_HSPI_PORT
//#define SPI_FREQUENCY 27000000
#define SPI_FREQUENCY 40000000 // Maximum for ILI9341
#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V
#define SPI_TOUCH_FREQUENCY 2500000

更多推荐


所有评论(0)