📄 lcd_sw.h
字号:
{\
SET_LCD_CMD_PARAMETER(0,LCD_DATA, (_data));\
LCD_SEND_DMA_CMD(1);\
}
#else/* LCD 8 bit mode */
#define LCD_DataWrite_S6D0123(_data) \
{\
SET_LCD_CMD_PARAMETER(0,LCD_DATA,(_data & 0xFF00)>>8);\
SET_LCD_CMD_PARAMETER(1,LCD_DATA, (_data & 0xFF));\
LCD_SEND_DMA_CMD(2);\
}
#endif
#else/* else LCD_CMD_DMA_MODE */
#ifdef LCD16BitMode /*mao add*/
#define LCD_CtrlWrite_S6D0123(_data) \
{ \
*(volatile kal_uint16 *)LCD_S6D0123_CTRL_ADDR = (_data ); \
LCD_delay_S6D0123(); \
}
#else/* LCD 8 bit mode */
#define LCD_CtrlWrite_S6D0123(_data) \
{ \
*(volatile kal_uint8 *)LCD_S6D0123_CTRL_ADDR = ((_data & 0xFF00) >>8);\
*(volatile kal_uint8 *)LCD_S6D0123_CTRL_ADDR = (_data & 0xFF); \
LCD_delay_S6D0123(); \
}
#endif
#ifdef LCD16BitMode /*mao add*/
#define LCD_DataWrite_S6D0123(_data) \
{\
*(volatile kal_uint16 *)LCD_S6D0123_DATA_ADDR = (_data); \
LCD_delay_S6D0123(); \
}
#else/* LCD 8 bit mode */
#define LCD_DataWrite_S6D0123(_data) \
{\
*(volatile kal_uint8 *)LCD_S6D0123_DATA_ADDR = ((_data & 0xFF00) >>8); \
*(volatile kal_uint8 *)LCD_S6D0123_DATA_ADDR = (_data & 0xFF); \
LCD_delay_S6D0123(); \
}
#endif
#endif /* LCD_CMD_DMA_MODE */
#ifdef LCD16BitMode /*mao add*/
#define LCD_RAMWrite_S6D0123(_data)\
{\
*((volatile kal_uint16 *) LCD_S6D0123_DATA_ADDR) = (_data);\
LCD_delay_S6D0123(); \
}
#else/* LCD 8 bit mode */
#define LCD_RAMWrite_S6D0123(_data)\
{\
*((volatile unsigned char *) LCD_S6D0123_DATA_ADDR) = ((_data & 0xFF00) >>8);\
*((volatile unsigned char *) LCD_S6D0123_DATA_ADDR) = (_data & 0xFF);\
LCD_delay_S6D0123(); \
}
#endif
#endif //#if (defined(MT6218B) || defined(MT6219)
#endif //#if (defined (__GD85_1_TCL_DRV_LCD_S6D0123_HITACHI__))
/*************************************************************/
/* Epson Main D15G17E, 64k Color, 128x128 Parallel */
/*************************************************************/
#if ( (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_1__)) || (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_2__)))
/* EPSON D15G17E ***********************************************************/
/* 128x128(65K), Parallel i/o, COG Type */
/***************************************************************************/
#if ((defined(MT6208)) || (defined(MT6218)) ||(defined(MT6205B))||(defined(MT6218B))|| (defined(MT6217)))//20050413 yguangyong added 6217 option
#ifdef MCU_13M
#define LCD_delay_D15G17E()
#endif /* MCU_13M */
#ifdef MCU_26M
#define LCD_delay_D15G17E()\
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /* MCU_26M */
#ifdef MCU_39M
#define LCD_delay_D15G17E()\
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /* MCU_39M */
#ifdef MCU_52M
#define LCD_delay_D15G17E()\
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#ifdef DUAL_LCD
#define LCD_delay_ST7565() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif
#endif /* MCU_52M */
#endif /* MT6208 */
#if (defined(MT6205B) || defined(MT6218))
#define LCD_CtrlWrite_D15G17E(_data)\
{\
*(volatile kal_uint8 *)LCD_CTRLAddr = _data;\
LCD_delay_D15G17E();\
}
#define LCD_DataWrite_D15G17E(_data)\
{\
*(volatile kal_uint8 *)LCD_DATAAddr = _data;\
LCD_delay_D15G17E();\
}
#if (defined(D15G17E_8BIT))
#define LCD_RAMWrite_D15G17E(_data)\
{\
*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) ((_data&0xFF00)>>8);\
*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) (_data&0xFF);\
LCD_delay_D15G17E();\
}
#else
#define LCD_RAMWrite_D15G17E(_data)\
{\
*(volatile kal_uint16 *)LCD_DATAAddr = _data;\
LCD_delay_D15G17E();\
}
#endif
#endif /* (MT6205B, MT6218), (MT6218B,MT6219) */
#if (defined(MT6218B) || defined(MT6219)|| defined(MT6217)) //20050413 yguangyong added 6217 option
#ifdef LCD_CMD_DMA_MODE
#define LCD_SEND_DMA_CMD(n) \
{\
while (LCD_IS_RUNNING) {};\
DISABLE_LCD_TRANSFER_COMPLETE_INT;\
DISABLE_ALL_LCD_LAYER_WINDOW;\
SET_LCD_ROI_CTRL_NUMBER_OF_CMD(n);\
ENABLE_LCD_ROI_CTRL_CMD_FIRST;\
SET_LCD_ROI_WINDOW_SIZE(0,0);\
START_LCD_TRANSFER;\
}
#define LCD_CtrlWrite_D15G17E(_data) \
{\
SET_LCD_CMD_PARAMETER(0,LCD_CMD,_data);\
LCD_SEND_DMA_CMD(1);\
}
#define LCD_DataWrite_D15G17E(_data) \
{\
SET_LCD_CMD_PARAMETER(0,LCD_DATA,_data);\
LCD_SEND_DMA_CMD(1);\
}
#define LCD_RAMWrite_D15G17E(_data)\
{\
*((volatile unsigned char *) LCD_D15G17E_DATA_ADDR) = (_data & 0xFF00) >>8;\
*((volatile unsigned char *) LCD_D15G17E_DATA_ADDR) = (_data & 0xFF);\
}
#else
#define LCD_CtrlWrite_D15G17E(_data) \
{\
*(volatile kal_uint8 *)LCD_D15G17E_CTRL_ADDR = (_data);\
LCD_delay_D15G17E();\
}
#define LCD_DataWrite_D15G17E(_data) \
{\
*(volatile kal_uint8 *)LCD_D15G17E_DATA_ADDR = (_data);\
LCD_delay_D15G17E();\
}
#define LCD_RAMWrite_D15G17E(_data) \
{\
*(volatile kal_uint8 *)LCD_D15G17E_DATA_ADDR = (_data & 0xFF00) >>8;\
LCD_delay_D15G17E();\
*(volatile kal_uint8 *)LCD_D15G17E_DATA_ADDR = (_data & 0xFF);\
LCD_delay_D15G17E();\
}
#endif /* LCD_CMD_DMA_MODE */
#endif
#endif //#if ( (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_1__)) || (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_2__)))
#if (defined(__GD85_TCL_DRV_LCD_S6B33B0A_SAMSUNG__))
/***********************S6B33B0A********************************/
/*Wanxin, 64K Color LCD, Parallel Interface, Firefly development board*/
#if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219))|| (defined(MT6217)))//20050413 yguangyong added 6217 option
#ifdef MCU_13M
#define LCD_delay_S6B33B0A()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_S6B33B0A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#ifdef MCU_39M
#define LCD_delay_S6B33B0A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_39M*/
#ifdef MCU_52M
#define LCD_delay_S6B33B0A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#ifdef DUAL_LCD
#define LCD_delay_ST7565() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif
#endif /*MCU_52M*/
#endif /*MT6208*/
#ifdef MT6205B
#ifdef MCU_13M
#define LCD_delay_S6B33B0A()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_S6B33B0A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#endif /*MT6205B*/
#if (defined(MT6205B) || defined(MT6218))
#define LCD_CtrlWrite_S6B33B0A(_data) \
{\
*(volatile kal_uint8 *)LCD_CTRLAddr = _data;\
LCD_delay_S6B33B0A();\
}\
#define LCD_DataWrite_S6B33B0A(_data) \
{\
*(volatile kal_uint8 *)LCD_DATAAddr = _data;\
LCD_delay_S6B33B0A();\
}\
//
#define LCD_RAMWrite_S6B33B0A(_data) \
{\
*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) ((_data&0xFF00)>>8);\
*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) (_data&0xFF);\
LCD_delay_S6B33B0A();\
}
#endif/*MT6205B,MT6218*/
#if (defined(MT6218B) || defined(MT6219)|| defined(MT6217)) //20050413 yguangyong added 6217 option
#ifdef LCD_CMD_DMA_MODE
#define LCD_SEND_DMA_CMD(n) \
{\
while (LCD_IS_RUNNING) {};\
DISABLE_LCD_TRANSFER_COMPLETE_INT;\
DISABLE_ALL_LCD_LAYER_WINDOW;\
SET_LCD_ROI_CTRL_NUMBER_OF_CMD(n);\
ENABLE_LCD_ROI_CTRL_CMD_FIRST;\
SET_LCD_ROI_WINDOW_SIZE(0,0);\
START_LCD_TRANSFER;\
}
#define LCD_CtrlWrite_S6B33B0A(_data) \
{\
SET_LCD_CMD_PARAMETER(0,LCD_CMD,_data);\
LCD_SEND_DMA_CMD(1);\
}
#define LCD_DataWrite_S6B33B0A(_data) \
{\
SET_LCD_CMD_PARAMETER(0,LCD_DATA,_data);\
LCD_SEND_DMA_CMD(1);\
}
#define LCD_RAMWrite_S6B33B0A(_data)\
{\
*((volatile unsigned char *) LCD_S6B33B0A_DATA_ADDR) = (_data & 0xFF00) >>8;\
*((volatile unsigned char *) LCD_S6B33B0A_DATA_ADDR) = (_data & 0xFF);\
}
#else
#define LCD_CtrlWrite_S6B33B0A(_data) \
{\
*(volatile kal_uint8 *)LCD_S6B33B0A_CTRL_ADDR = (_data & 0xFF);\
LCD_delay_S6B33B0A();\
}
#define LCD_DataWrite_S6B33B0A(_data) \
{\
*(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF00) >>8;\
LCD_delay_S6B33B0A();\
*(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF);\
LCD_delay_S6B33B0A();\
}
#define LCD_RAMWrite_S6B33B0A(_data) \
{\
*(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF00) >>8;\
LCD_delay_S6B33B0A();\
*(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF);\
LCD_delay_S6B33B0A();\
}
#endif /* LCD_CMD_DMA_MODE */
#endif
#endif //#if (defined(__GD85_TCL_DRV_LCD_S6B33B0A_SAMSUNG__))
/* BEGIN 2005-07-07 TCL-xjinming added for GD85-2 LCD_MAIN..... */
/* WINTEK S1D15G27 Or TRULY S1D15G27***************************************/
/* 128x128(65K), Parallel i/o, COG Type */
/***************************************************************************/
#if (defined(__GD85_TCL_DRV_LCD_S1D15G27_WINTEK__) || defined(__GD85_TCL_DRV_LCD_S1D15G27_TRULY__))
#define LCD_CMD_DMA_MODE
#if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219))|| (defined(MT6217)))//20050413 yguangyong added 6217 option
#ifdef MCU_13M
#define LCD_delay_S1D15G27()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_S1D15G27() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#ifdef MCU_39M
#define LCD_delay_S1D15G27() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_39M*/
#ifdef MCU_52M
#define LCD_delay_S1D15G27() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#ifdef DUAL_LCD
#define LCD_delay_ST7565() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif
#endif /*MCU_52M*/
#endif /*MT6208*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -