本站改版新增arduino频道

Micropython
Arduino

解决ESP32S3 TFT_eSPI无限重启的问题


硬件: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
https://github.com/Bodmer/TFT_eSPI/issues/3568

我用的是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

————————————————

原文链接:https://blog.csdn.net/raybbs/article/details/144473110



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号

执行时间: 0.0095629692077637 seconds