RaspberryPi/RP2350

[RP2350_W6100] ST7789 TFT LCD 테스트 - TFT-eSPI 라이브러리 오류 수정

nexp 2025. 1. 18. 12:01

 

 

ST7789 TFT LCD 모듈을 이용하여 테스를 해 보기위해 TFT_eSPI 라이브러리를 사용 하려고 하는데 RP2040 TFT_eSPI 테스트 예제에서 사용했던 코드가 동작하지 않는다.

 

좀더 정확히는 잘 사용하던 TFT_eSPI 라이브러리를 최신버전으로 업데이트 후 정상 동작을 하지 않는다.

2.5.34  까지는 잘 동작 했었는데…  2.5.43에서는 컴파일은 되지만 LCD가 정상 동작하지 않는다.



SPI 신호는 정상적으로 나오는것 같은데…

LCD제어 핀맵은 정상적으로 할당되어 있다. 그렇다면 라이브러리의 문제인데...

#include <../TFT_eSPI_Setups/Setup24_ST7789_rp2350_sm.h>

#define TFT_CS   11    // Define as not used
#define TFT_DC   12  // Data Command control pin
#define TFT_RST  -1  // TFT reset pin (could connect to NodeMCU RST, see next line)

 

 

 

\Arduino\libraries\TFT_eSPI\Processors\TFT_eSPI_RP2040.h 파일을 비교 해 보자

 

 

TFT_eSPI_RP2040.h 파일에서 SET_BUS_READ_MODE 정의가 다르다.

 // Processor specific code used by SPI bus transaction begin/end_tft_write functions
 #define SET_BUS_WRITE_MODE spi_set_format(SPI_X,  8, (spi_cpol_t)(TFT_SPI_MODE >> 1), (spi_cpha_t)(TFT_SPI_MODE & 0x1), SPI_MSB_FIRST)
 
 #define SET_BUS_READ_MODE  // spi_set_format(SPI_X,  8, (spi_cpol_t)0, (spi_cpha_t)0, SPI_MSB_FIRST)

 

이부분을 수정하니 ST7789 TFT LCD가 정상동작한다.

반응형