본문 바로가기

WCH/CH32V307

CH32V307 SM - TFT-LCD 그래프 출력 테스트

 

 

CH32V307-SM 보드는 SM Type EVM 형태의 표준 핀맵으로 제작되었고 확장 테스트 보드에서 기존에 제작 해 두었던 여러가지 보드를 테스트 할 수 있다.

확장 테스트 보드의 LCD에는 8bit 방식으로 연결되어 있다.

 

 

8비트 방식을 16비트 방식으로 변환 해 주는 LCD_CONV 테스트 보드에 연결하여 테스트 했다.

 


소스코드는  Raspberry Pi PicoW - TFT LCD 출력 테스트(그래프 출력)를  수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다

#define LCD_XLINE_SIZE				240
#define LCD_YLINE_SIZE				400


#define sbi(Port, Value)        	Port->BSHR = (Value)
#define cbi(Port, Value)          	Port->BCR = (Value)


#define LCD_LAT_BIT					GPIO_Pin_8
#define LCD_LAT_PORT				GPIOA
#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						GPIO_Pin_8
#define LCD_EN_PORT						GPIOB
#define LCD_ENABLE()					cbi(LCD_EN_PORT, LCD_EN_BIT);
#define LCD_DISABLE()					sbi(LCD_EN_PORT, LCD_EN_BIT)

#define LCD_RS_BIT						GPIO_Pin_9
#define LCD_RS_PORT						GPIOB
#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						GPIO_Pin_3
#define LCD_WR_PORT						GPIOB
#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 PORTC                 	GPIOC->OUTDR
#define _LCD_DAT_OUT(Data)			PORTC = (PORTC&(~0xC03F)) | (Data>>8&0x3F) | ((Data>>8&0xC0)<<8);\
                                  	LCD_DATA_LATCH();\
                                 	PORTC = (PORTC&(~0xC03F)) | (Data&0x3F) | ((Data&0xC0)<<8);

 

반응형