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가 정상동작한다.
반응형