📄 lcd_sw.h
字号:
#ifdef MT6205B
#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*/
#endif /*MT6205B*/
#if (defined(MT6205B) || defined(MT6218))
#define LCD_CtrlWrite_S1D15G27(_data) \
{\
*(volatile kal_uint8 *)LCD_CTRLAddr = _data;\
LCD_delay_S1D15G27();\
}\
#define LCD_DataWrite_S1D15G27(_data) \
{\
*(volatile kal_uint8 *)LCD_DATAAddr = _data;\
LCD_delay_S1D15G27();\
}\
//
#define LCD_RAMWrite_S1D15G27(_data) \
{\
*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) ((_data&0xFF00)>>8);\
LCD_delay_S1D15G27();\
*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) (_data&0xFF);\
LCD_delay_S1D15G27();\
}
#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_S1D15G27(_data) \
{\
SET_LCD_CMD_PARAMETER(0,LCD_CMD,_data);\
LCD_SEND_DMA_CMD(1);\
}
#define LCD_DataWrite_S1D15G27(_data) \
{\
*((volatile unsigned char *) LCD_S1D15G27_DATA_ADDR) = (_data & 0xFF);\
LCD_delay_S1D15G27();\
}
#define LCD_RAMWrite_S1D15G27(_data)\
{\
*((volatile unsigned char *) LCD_S1D15G27_DATA_ADDR) = (_data & 0xFF00) >>8;\
*((volatile unsigned char *) LCD_S1D15G27_DATA_ADDR) = (_data & 0xFF);\
}
#else
#define LCD_CtrlWrite_S1D15G27(_data) \
{\
*(volatile kal_uint8 *)LCD_S1D15G27_CTRL_ADDR = (_data & 0xFF);\
LCD_delay_S1D15G27();\
}
#define LCD_DataWrite_S1D15G27(_data) \
{\
*(volatile kal_uint8 *)LCD_S1D15G27_DATA_ADDR = (_data & 0xFF);\
LCD_delay_S1D15G27();\
}
#define LCD_RAMWrite_S1D15G27(_data) \
{\
*(volatile kal_uint8 *)LCD_S1D15G27_DATA_ADDR = (_data & 0xFF00) >>8;\
*(volatile kal_uint8 *)LCD_S1D15G27_DATA_ADDR = (_data & 0xFF);\
LCD_delay_S1D15G27();\
}
#endif /* LCD_CMD_DMA_MODE */
#endif
#endif //#if (defined(__GD85_TCL_DRV_LCD_S1D15G27_WINTEK__))
/* END 2005-07-07 TCL-xjinming added for GD85-2 LCD_MAIN..... */
/*************************************************************/
/* Sub Macro */
/*************************************************************/
/*************************************************************/
/* Epson Sub LCD(__GD85_2_TCL_DRV_LCD_L1F10289_EPSON__), 64k Color, 64x96 Parallel */
/*************************************************************/
/* BEGIN 2005-03-15 TCL-xjinming added for GD85-2 LCD_SUB..... */
#if (defined (__GD85_2_TCL_DRV_LCD_L1F10289_EPSON__))
#if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219)))
#ifdef MCU_13M
#define LCD_delay_L1F10289()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_L1F10289() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#ifdef MCU_39M
#define LCD_delay_L1F10289() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_39M*/
#ifdef MCU_52M
#define LCD_delay_L1F10289() \
{\
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 /*MCU_52M*/
#endif /*MT6208*/
#ifdef MT6205B
#ifdef MCU_13M
#define LCD_delay_L1F10289()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_L1F10289() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#endif /*MT6205B*/
#define LCD_CtrlWrite_L1F10289(_data) \
{ \
*(volatile kal_uint8 *) LCD_L1F10289_CTRL_ADDR= _data; \
LCD_delay_L1F10289();\
}
#define LCD_DataWrite_L1F10289(_data) \
{ \
*(volatile kal_uint8 *)LCD_L1F10289_DATA_ADDR = _data;\
LCD_delay_L1F10289();\
}
#define LCD_RAMWrite_L1F10289(_data) \
{\
*(volatile kal_uint8 *)LCD_L1F10289_DATA_ADDR = ((_data&0xFF00)>>8);\
*(volatile kal_uint8 *)LCD_L1F10289_DATA_ADDR= (_data&0xFF);\
LCD_delay_L1F10289();\
}
#endif //#if (defined (__GD85_2_TCL_DRV_LCD_L1F10289_EPSON__))
/* END 2005-03-15 TCL-xjinming added for GD85-2 LCD_SUB..... */
/*************************************************************/
/* Samsung Sub LCD(__GD85_TCL_DRV_LCD_ST7565_SAMSUNG__), (Mono), Serial i/o */
/*************************************************************/
//#ifdef __GD85_TCL_DRV_LCD_ST7565_SAMSUNG__ //modified by xjinming for TRULY LCD
#if (defined(__GD85_TCL_DRV_LCD_ST7565_LINDA__) || defined(__GD85_TCL_DRV_LCD_ST7565_TRULY__))
#if ( (defined(MT6205B)) || (defined(MT6218)) )
#define LCD_CtrlWrite_ST7565(_data)\
{\
while(!(DRV_Reg(LCD_SSTA) & LCD_SSTA_EMP0));\
DRV_WriteReg(LCD_DATACS0_A0LOW,_data);\
}
#define LCD_DataWrite_ST7565(_data)\
{\
while(!(DRV_Reg(LCD_SSTA) & LCD_SSTA_EMP0));\
DRV_WriteReg(LCD_DATACS0_A0HIGH,_data);\
}
#define LCD_CtrlWrite1_ST7565(_data)\
{\
while(!(DRV_Reg(LCD_SSTA) & LCD_SSTA_EMP1));\
DRV_WriteReg(LCD_DATACS1_A0LOW,_data);\
}
#define LCD_DataWrite1_ST7565(_data)\
{\
while(!(DRV_Reg(LCD_SSTA) & LCD_SSTA_EMP1));\
DRV_WriteReg(LCD_DATACS1_A0HIGH,_data);\
}
#define LCD_ReadData_ST7565(_data) NULL
#endif /* MT6205B,MT6218 */
#if ( (defined(MT6205)) || (defined(MT6208)) || (defined(FPGA)) )
#define LCD_CtrlWrite_ST7565(_data) \
{\
while((DRV_Reg(LCD_COUNT) >= 7));\
DRV_WriteReg(LCD_DATA_A0LOW,_data);\
}
#define LCD_DataWrite_ST7565(_data) \
{\
while((DRV_Reg(LCD_COUNT) >= 7));\
DRV_WriteReg(LCD_DATA_A0HIGH,_data);\
}
#define LCD_ReadData_ST7565(_data) NULL
#endif /* (MT6205, MT6208, FPGA) */
#if ( (defined(MT6218B))||(defined(MT6217)))//20050413 yguangyong added 6217 option
/* Defined Sub_LCD Instruction Macro */
#ifdef DUAL_LCD
#define LCD_CtrlWrite_ST7565(_data) \
{\
DRV_WriteReg(LCD_ST7565_CTRL_ADDR,_data);\
LCD_delay_ST7565();\
}
//*(volatile kal_uint8 *) LCD_ST7565_CTRL_ADDR= _data;
//LCD_delay_ST7565();
#define LCD_DataWrite_ST7565(_data) \
{\
DRV_WriteReg(LCD_ST7565_DATA_ADDR,_data);\
LCD_delay_ST7565();\
}
//*(volatile kal_uint8 *)LCD_ST7565_DATA_ADDR = _data;
//LCD_delay_ST7565();
#define LCD_RAMWrite_ST7565(_data) \
{\
*((volatile unsigned char *) LCD_ST7565_DATA_ADDR) = (_data & 0xFF00) >>8;\
*((volatile unsigned char *) LCD_ST7565_DATA_ADDR) = (_data & 0xFF);\
LCD_delay_ST7565();\
}
#endif
#endif /* (MT6218B) */
#endif //#if (defined(__GD85_TCL_DRV_LCD_ST7565_LINDA__) || defined(__GD85_TCL_DRV_LCD_ST7565_TRULY__))
/* Linda S6B33B2 ***********************************************************/
/* 96x64 (64k color), Parallel i/o, COG Type (SAMSUNG chip S6B33B2) */
/***************************************************************************/
#if (defined( __GD85_2_TCL_DRV_LCD_S6B33B2_LINDA__))
#if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219))||(defined(MT6217))) //20050415 yguangyong added 6217
#ifdef MCU_13M
#define LCD_delay_S6B33B2()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_S6B33B2() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#ifdef MCU_39M
#define LCD_delay_S6B33B2() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_39M*/
#ifdef MCU_52M
#define LCD_delay_S6B33B2() \
{\
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 /*MCU_52M*/
#endif /*MT6208*/
#ifdef MT6205B
#ifdef MCU_13M
#define LCD_delay_S6B33B2()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_S6B33B2() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#endif /*MT6205B*/
#define LCD_CtrlWrite_S6B33B2(_data) \
{ \
*(volatile kal_uint8 *) LCD_S6B33B2_CTRL_ADDR= _data; \
LCD_delay_S6B33B2();\
}
#define LCD_DataWrite_S6B33B2(_data) \
{ \
*(volatile kal_uint8 *)LCD_S6B33B2_DATA_ADDR = _data;\
LCD_delay_S6B33B2();\
}
#define LCD_RAMWrite_S6B33B2(_data) \
{\
*(volatile kal_uint8 *)LCD_S6B33B2_DATA_ADDR = ((_data&0xFF00)>>8);\
LCD_delay_S6B33B2();\
*(volatile kal_uint8 *)LCD_S6B33B2_DATA_ADDR= (_data&0xFF);\
LCD_delay_S6B33B2();\
}
#endif //#if (defined( __GD85_2_TCL_DRV_LCD_S6B33B2_LINDA__))
#if (defined (__GD85_1_TCL_DRV_LCD_SH1101A_RITDISPLAY__))
#if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219))||(defined(MT6217))) //20050415 yguangyong added 6217
#ifdef MCU_13M
#define LCD_delay_SH1101A()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_SH1101A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#ifdef MCU_39M
#define LCD_delay_SH1101A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_39M*/
#ifdef MCU_52M
#define LCD_delay_SH1101A() \
{\
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 /*MCU_52M*/
#endif /*MT6208*/
#ifdef MT6205B
#ifdef MCU_13M
#define LCD_delay_SH1101A()
#endif /*MCU_13M*/
#ifdef MCU_26M
#define LCD_delay_SH1101A() \
{\
kal_uint16 _stat;\
_stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
}
#endif /*MCU_26M*/
#endif /*MT6205B*/
#define LCD_CtrlWrite_SH1101A(_data) \
{ \
*(volatile kal_uint8 *) LCD_SH1101A_CTRL_ADDR= _data; \
LCD_delay_SH1101A();\
}
#define LCD_DataWrite_SH1101A(_data) \
{ \
*(volatile kal_uint8 *)LCD_SH1101A_DATA_ADDR = _data;\
LCD_delay_SH1101A();\
}
#define LCD_RAMWrite_SH1101A(_data) \
{\
*(volatile kal_uint8 *)LCD_SH1101A_DATA_ADDR = ((_data&0xFF00)>>8);\
LCD_delay_SH1101A();\
*(volatile kal_uint8 *)LCD_SH1101A_DATA_ADDR= (_data&0xFF);\
LCD_delay_SH1101A();\
}
#endif
#endif /*_LCD_SW_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -