📄 lcdlib.h
字号:
#define COLOR_RED_TFT16 0xf800
#define COLOR_GREEN_TFT16 0x07e0
#define COLOR_BLUE_TFT16 0x001f
#define LCDFRAMEBUFFER 0x33800000
#define S3C2410_LCDCON1_TFT (3<<5)
#define S3C2410_LCDCON1_TFT16BPP (12<<1)
#define S3C2410_LCDCON1_CLKVAL(x) ((x) << 8)
#define S3C2410_LCDCON2_VBPD(x) ((x) << 24)
#define S3C2410_LCDCON2_VBPD(x) ((x) << 24)
#define S3C2410_LCDCON2_LINEVAL(x) ((x) << 14)
#define S3C2410_LCDCON2_VFPD(x) ((x) << 6)
#define S3C2410_LCDCON2_VSPW(x) ((x) << 0)
#define S3C2410_LCDCON2_GET_VBPD(x) ( ((x) >> 24) & 0xFF)
#define S3C2410_LCDCON2_GET_VFPD(x) ( ((x) >> 6) & 0xFF)
#define S3C2410_LCDCON2_GET_VSPW(x) ( ((x) >> 0) & 0x3F)
#define S3C2410_LCDCON3_HBPD(x) ((x) << 19)
#define S3C2410_LCDCON3_WDLY(x) ((x) << 19)
#define S3C2410_LCDCON3_HOZVAL(x) ((x) << 8)
#define S3C2410_LCDCON3_HFPD(x) ((x) << 0)
#define S3C2410_LCDCON3_LINEBLANK(x)((x) << 0)
#define S3C2410_LCDCON3_GET_HBPD(x) ( ((x) >> 19) & 0x7F)
#define S3C2410_LCDCON3_GET_HFPD(x) ( ((x) >> 0) & 0xFF)
#define S3C2410_LCDCON4_MVAL(x) ((x) << 8)
#define S3C2410_LCDCON4_HSPW(x) ((x) << 0)
#define S3C2410_LCDCON4_WLH(x) ((x) << 0)
#define LCD5_BPP24BL (1 << 12)
#define LCD5_FRM565 (1 << 11)
#define LCD5_INVVCLK (1 << 10) /* STN/TFT :
1 : video data is fetched at VCLK falling edge
0 : video data is fetched at VCLK rising edge */
#define LCD5_INVVLINE (1 << 9) /* STN/TFT :
1 : VLINE/HSYNC pulse polarity is inverted */
#define LCD5_INVVFRAME (1 << 8) /* STN/TFT :
1 : VFRAME/VSYNC pulse polarity is inverted */
#define LCD5_INVVD (1 << 7) /* STN/TFT :
1 : VD (video data) pulse polarity is inverted */
#define LCD5_INVVDEN (1 << 6) /* TFT :
1 : VDEN signal polarity is inverted */
#define LCD5_INVPWREN (1 << 5)
#define LCD5_INVLEND (1 << 4) /* TFT :
1 : LEND signal polarity is inverted */
#define LCD5_PWREN (1 << 3)
#define LCD5_LEND (1 << 2) /* TFT,1 : Enable LEND signal */
#define LCD5_BSWP (1 << 1) /* STN/TFT,1 : Byte swap enable */
#define LCD5_HWSWP (1 << 0) /* STN/TFT,1 : HalfWord swap enable */
#define M5D(n) ((n) & 0x1fffff) // To get lower 21bits
//TFT 240320
#define LCD_XSIZE_TFT_240320 (240)
#define LCD_YSIZE_TFT_240320 (320)
//TFT 320X240
#define LCD_XSIZE_TFT_320240 (320)
#define LCD_YSIZE_TFT_320240 (240)
//TFT 480X272
#define LCD_XSIZE_TFT_480272 (480)
#define LCD_YSIZE_TFT_480272 (272)
//TFT 640480
#define LCD_XSIZE_TFT_640480 (640)
#define LCD_YSIZE_TFT_640480 (480)
//TFT 800600
#define LCD_XSIZE_TFT_800600 (800)
#define LCD_YSIZE_TFT_800600 (600)
//TFT 240320
#define SCR_XSIZE_TFT_240320 (LCD_XSIZE_TFT_240320*2)
#define SCR_YSIZE_TFT_240320 (LCD_YSIZE_TFT_240320*2)
//TFT 320240
#define SCR_XSIZE_TFT_320240 (LCD_XSIZE_TFT_320240*2)
#define SCR_YSIZE_TFT_320240 (LCD_YSIZE_TFT_320240*2)
//TFT 480272
#define SCR_XSIZE_TFT_480272 (LCD_XSIZE_TFT_480272*2)
#define SCR_YSIZE_TFT_480272 (LCD_YSIZE_TFT_480272*2)
//TFT 640480
#define SCR_XSIZE_TFT_640480 (LCD_XSIZE_TFT_640480*2)
#define SCR_YSIZE_TFT_640480 (LCD_YSIZE_TFT_640480*2)
//TFT 800600
#define SCR_XSIZE_TFT_800600 (LCD_XSIZE_TFT_800600*2)
#define SCR_YSIZE_TFT_800600 (LCD_YSIZE_TFT_800600*2)
#define LCD_240X320 1
#define LCD_320X240 2
#define LCD_480x272 3
#define LCD_640480 3
typedef struct {
unsigned int lcd_id;
unsigned long lcdcon1;
unsigned long lcdcon2;
unsigned long lcdcon3;
unsigned long lcdcon4;
unsigned long lcdcon5;
unsigned int xsize;
unsigned int ysize;
unsigned int scr_xsize;
unsigned int scr_ysize;
}LCD_CONFIG;
LCD_CONFIG tft_240x320 =
{
LCD_240X320,
S3C2410_LCDCON1_TFT16BPP | \
S3C2410_LCDCON1_TFT | \
S3C2410_LCDCON1_CLKVAL(10),
S3C2410_LCDCON2_VBPD(2) | \
S3C2410_LCDCON2_LINEVAL(319)| \
S3C2410_LCDCON2_VFPD(2)| \
S3C2410_LCDCON2_VSPW(4),
S3C2410_LCDCON3_HBPD(8) | \
S3C2410_LCDCON3_HOZVAL(239)| \
S3C2410_LCDCON3_HFPD(8),
S3C2410_LCDCON4_MVAL(13) | \
S3C2410_LCDCON4_HSPW(6),
LCD5_FRM565 | LCD5_HWSWP | LCD5_PWREN,
LCD_XSIZE_TFT_240320,
LCD_YSIZE_TFT_240320,
SCR_XSIZE_TFT_240320,
SCR_YSIZE_TFT_240320
};
LCD_CONFIG tft_320X240 =
{
LCD_320X240,
S3C2410_LCDCON1_TFT16BPP | \
S3C2410_LCDCON1_TFT | \
S3C2410_LCDCON1_CLKVAL(5),
S3C2410_LCDCON2_VBPD(14) | \
S3C2410_LCDCON2_LINEVAL(239)| \
S3C2410_LCDCON2_VFPD(5)| \
S3C2410_LCDCON2_VSPW(3),
S3C2410_LCDCON3_HBPD(36) | \
S3C2410_LCDCON3_HOZVAL(319)| \
S3C2410_LCDCON3_HFPD(20),
S3C2410_LCDCON4_MVAL(13) | \
S3C2410_LCDCON4_HSPW(30),
LCD5_FRM565 |LCD5_INVVCLK|LCD5_INVVLINE|LCD5_INVVFRAME| \
LCD5_INVVDEN| LCD5_PWREN|LCD5_HWSWP,
LCD_XSIZE_TFT_320240,
LCD_YSIZE_TFT_320240,
SCR_XSIZE_TFT_320240,
SCR_YSIZE_TFT_320240
};
LCD_CONFIG tft_480x272 =
{
LCD_480x272,
S3C2410_LCDCON1_TFT16BPP | \
S3C2410_LCDCON1_TFT | \
S3C2410_LCDCON1_CLKVAL(5),
S3C2410_LCDCON2_VBPD(2) | \
S3C2410_LCDCON2_LINEVAL(271)| \
S3C2410_LCDCON2_VFPD(2)| \
S3C2410_LCDCON2_VSPW(10),
S3C2410_LCDCON3_HBPD(2) | \
S3C2410_LCDCON3_HOZVAL(479)| \
S3C2410_LCDCON3_HFPD(2),
S3C2410_LCDCON4_MVAL(13) | \
S3C2410_LCDCON4_HSPW(41),
LCD5_FRM565 |LCD5_INVVCLK |LCD5_INVVLINE|LCD5_INVVFRAME| \
LCD5_INVVDEN| LCD5_PWREN|LCD5_HWSWP,
LCD_XSIZE_TFT_480272,
LCD_YSIZE_TFT_480272,
SCR_XSIZE_TFT_480272,
SCR_YSIZE_TFT_480272
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -