⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_glcd.h

📁 优龙LPC1788开发板资料
💻 H
字号:
#include "lpc_types.h"

#ifndef __GLCD_DRV_H
#define __GLCD_DRV_H

#define YL_LCD35_32bpp	(0)
#define YL_LCD35_16bpp	(1)
#define YL_LCD70_16bpp	(2)
#define YL_LCD80_16bpp	(3)

#define DEF_LCD_TYPE  YL_LCD80_16bpp

typedef struct _Bmp_t {
  uint32_t  H_Size;
  uint32_t  V_Size;

  uint32_t *pPalette;
  uint8_t *pPicStream;
  uint8_t *pPicDesc;
} Bmp_t, *pBmp_t;

typedef struct _FontType_t {
  uint32_t H_Size;
  uint32_t V_Size;
  uint32_t CharacterOffset;
  uint32_t CharactersNuber;
  uint8_t *pFontStream;
  uint8_t *pFontDesc;
} FontType_t, *pFontType_t;

typedef uint32_t LdcPixel_t, *pLdcPixel_t;

#if		(DEF_LCD_TYPE == YL_LCD70_16bpp )
	#define C_GLCD_PIX_CLK          (20*1000000UL)
	#define C_GLCD_REFRESH_FREQ     (50HZ)
	#define C_GLCD_H_SIZE           800
	#define C_GLCD_H_PULSE          48
	#define C_GLCD_H_FRONT_PORCH    40
	#define C_GLCD_H_BACK_PORCH     40

	#define C_GLCD_V_SIZE           480
	#define C_GLCD_V_PULSE          3
	#define C_GLCD_V_FRONT_PORCH    13
	#define C_GLCD_V_BACK_PORCH     29
	#define C_GLCD_BitsPP			16
	#define C_GLCD_BytesPP			2
#elif(DEF_LCD_TYPE == YL_LCD80_16bpp )
	#define C_GLCD_PIX_CLK          (20*1000000UL)
	#define C_GLCD_REFRESH_FREQ     (50HZ)
	#define C_GLCD_H_SIZE           800
	#define C_GLCD_H_PULSE          30
	#define C_GLCD_H_FRONT_PORCH    210
	#define C_GLCD_H_BACK_PORCH     46

	#define C_GLCD_V_SIZE           600
	#define C_GLCD_V_PULSE          10
	#define C_GLCD_V_FRONT_PORCH    13
	#define C_GLCD_V_BACK_PORCH     23
	#define C_GLCD_BitsPP			16
	#define C_GLCD_BytesPP			2
#elif(DEF_LCD_TYPE == YL_LCD35_16bpp )
		#define C_GLCD_PIX_CLK          (6.4*1000000UL)
	#define C_GLCD_REFRESH_FREQ     (50HZ)
	#define C_GLCD_H_SIZE           320
	#define C_GLCD_H_PULSE          30
	#define C_GLCD_H_FRONT_PORCH    20
	#define C_GLCD_H_BACK_PORCH     38
	#define C_GLCD_V_SIZE           240
	#define C_GLCD_V_PULSE          3
	#define C_GLCD_V_FRONT_PORCH    5
	#define C_GLCD_V_BACK_PORCH     15
	#define C_GLCD_BitsPP			16
	#define C_GLCD_BytesPP			2
#else 								 //default lcd type is YL_LCD35_32bpp
	#define C_GLCD_PIX_CLK          (6.4*1000000UL)
	#define C_GLCD_REFRESH_FREQ     (50HZ)
	#define C_GLCD_H_SIZE           320
	#define C_GLCD_H_PULSE          30
	#define C_GLCD_H_FRONT_PORCH    20
	#define C_GLCD_H_BACK_PORCH     38
	#define C_GLCD_V_SIZE           240
	#define C_GLCD_V_PULSE          3
	#define C_GLCD_V_FRONT_PORCH    5
	#define C_GLCD_V_BACK_PORCH     15
	#define C_GLCD_BitsPP			32
	#define C_GLCD_BytesPP			4
#endif
	
#define C_GLCD_PWR_ENA_DIS_DLY  10000
#define C_GLCD_ENA_DIS_DLY      10000


#define CRSR_PIX_32     0
#define CRSR_PIX_64     1
#define CRSR_ASYNC      0
#define CRSR_FRAME_SYNC 2

#define TEXT_DEF_TAB_SIZE 5

#define TEXT_BEL1_FUNC()

void GLCD_Init (void);
void GLCD_Ctrl (Bool bEna);

void GLCD_SET_Pixel_16bpp (const uint32_t x, const uint32_t y ,const uint16_t colour);
void GLCD_Line_16bpp(uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2, uint16_t color);
void Paint_Bmp_16bpp(uint32_t x0, uint32_t y0, uint32_t h, uint32_t l, uint8_t bmp[]);
void GLCD_Dis_clr (void);

#endif // __GLCD_DRV_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -