[adStar EVM] TFT-LCD 테스트
adStar의 가장 큰 장점은 TFT-LCD 컨트롤러와 16Mbyte의 SDRAM을 내장하고 있어 LCD제어에 있어 아주 편리하다. 특히 16Mbyte의 RAM을 활용하면 이미지 처리에 있어 장점이 많다.
우선 기존 코드를 활용하여 TFT-LCD 모듈을 GPIO방식으로 제어 해 보았다. (추후 내장된 TFT-LCD컨트롤러를 활용하여 어느정도의 성능 향상이 있은지 확인 할 예정이다.)
400x240 한프레임 출력 시간은 GPIO방식이지만 20ms 정도로 측정된다.
adStar TFT-LCD 테스트 동영상
adStar TFT LCD 드라이버 코드
// TFT LCD Driver
#define TFT_DRV_HD66791 0
#define TFT_DRV_COM44 1
#define LCD_LAT_BIT
#define LCD_LAT_PORT
#define LCD_LAT_ON()
#define LCD_LAT_OFF()
#define LCD_DATA_LATCH() LCD_LAT_ON();LCD_LAT_OFF();
#define LCD_EN_BIT BIT5
#define LCD_EN_PORT GPIO6
#define LCD_ENABLE() cbi(LCD_EN_PORT, LCD_EN_BIT)
#define LCD_DISABLE() sbi(LCD_EN_PORT, LCD_EN_BIT)
#define LCD_RST_BIT BIT2
#define LCD_RST_PORT GPIO6
#define LCD_RST_OFF() cbi(LCD_RST_PORT, LCD_RST_BIT)
#define LCD_RST_ON() sbi(LCD_RST_PORT, LCD_RST_BIT)
#define LCD_RS_BIT BIT3
#define LCD_RS_PORT GPIO6
#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 BIT3
#define LCD_WR_PORT GPIO5
#define LCD_WR_OFF() cbi(LCD_WR_PORT, LCD_WR_BIT)
#define LCD_WR_ON() sbi(LCD_WR_PORT, LCD_WR_BIT)
#define LCD_RD_BIT BIT2
#define LCD_RD_PORT GPIO5
#define LCD_RD_OFF() //cbi(*R_P2oLOW, LCD_RD_BIT)
#define LCD_RD_ON() //sbi(*R_P2oHIGH, LCD_RD_BIT)
#define LCD_BL_BIT BIT4
#define LCD_BL_PORT GPIO6
#define LCD_BL_OFF() cbi(LCD_BL_PORT, LCD_BL_BIT)
#define LCD_BL_ON() sbi(LCD_BL_PORT, LCD_BL_BIT)
*R_PAF7 = 0xFFFF;*R_GP7ODIR = 0xFF;\
Sbi(*R_GP6ODIR, BIT2|BIT3|BIT4|BIT5);Sbi(*R_PAF6, GP_CFG(2)|GP_CFG(3)|GP_CFG(4)|GP_CFG(5));\
Sbi(*R_GP5ODIR, BIT3);Sbi(*R_PAF5, GP_CFG(3));