본문 바로가기

RaspberryPi/RP2040

[RP2040 SSM] TFT LCD (COM26T2844) 테스트

EXP_4030_LCD_HDMI 확장 보드를 이용하면 12핀 SSM-Type EVM에서 TFT LCD보드 제어를 할 수 있다.

 

표준 핀맵의 확장 핀맵은 아래와 같이 구성 하였다.

 

 

소스코드는  https://github.com/adafruit/TFTLCD-Library 를 참고 수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다.

#define Led1Off()					sbi(0, BIT13)
#define Led1On()					cbi(0, BIT13)

#define LCD_XLINE_SIZE				240
#define LCD_YLINE_SIZE				400

#define PORTA						(sio_hw->gpio_out)
#define GPIO0             0
#define GPIO1             1


#define LCD_LAT_BIT						27
#define LCD_LAT_PORT					
#define LCD_LAT_ON()				  sbi(LCD_LAT_PORT, LCD_LAT_BIT)
#define LCD_LAT_OFF()					cbi(LCD_LAT_PORT, LCD_LAT_BIT)
#define LCD_DATA_LATCH()				LCD_LAT_ON();LCD_LAT_OFF();

#define LCD_EN_BIT						17
#define LCD_EN_PORT						
#define LCD_ENABLE()					cbi(LCD_EN_PORT, LCD_EN_BIT);
#define LCD_DISABLE()					sbi(LCD_EN_PORT, LCD_EN_BIT)

#define LCD_RST_BIT						//BIT8
#define LCD_RST_PORT					//PORTB
#define LCD_RST_ON()					//Sbi(LCD_RST_PORT, LCD_RST_BIT)
#define LCD_RST_OFF()					//Cbi(LCD_RST_PORT, LCD_RST_BIT)

#define LCD_RS_BIT						28
#define LCD_RS_PORT						
#define LCD_RS_OFF()					cbi(LCD_RS_PORT, LCD_RS_BIT)
#define LCD_RS_ON()						sbi(LCD_RS_PORT, LCD_RS_BIT)

#define LCD_WR_BIT						26
#define LCD_WR_PORT						
#define LCD_WR_OFF()					cbi(LCD_WR_PORT, LCD_WR_BIT);lcd_delay()
#define LCD_WR_ON()						sbi(LCD_WR_PORT, LCD_WR_BIT);lcd_delay()


#define _LCD_DAT_OUT(Data)				PORTA = (PORTA&0xFFFF00FF) | (Data);\
                                  		LCD_DATA_LATCH();\
                                 		PORTA = (PORTA&0xFFFF00FF) | ((Data&0xFF)<<8);

 

테스트 결과 TFT LCD에 잘 출력되는것을 확인 할 수 있다.

 

이미지 한장 출력 하는 속도는 13ms 정도로 75pfs 정도로 측정이 된다. 저렴한 MCU이지만 GPIO 출력 속도가 빨라 LCD 출력을 상당히 빨리 할 수 있는것 같다.

반응형