|
有没有用过hx8347的兄弟,我这里按照厂家给的代码写进去的,一直白屏,不知该怎么弄,附代码,请指教啊.
#include "drv_comm.h"
#include "reg_base.h"
#include "lcd_sw_inc.h"
#include "lcd_sw.h"
#include "lcd_hw.h"
/*Serial interface*/
#include "lcd_if.h"
#include "lcd_sw_rnd.h"
#define LCD_HX8347
#ifndef __CUST_NEW__
extern void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada);
extern void GPIO_WriteIO(char data, char port);
#endif /* __CUST_NEW__ */
extern void PWM2_level(kal_uint8 level);
kal_bool lcd_assert_fail=KAL_FALSE;
kal_uint8 lcd_check = 0;
kal_uint8 lcd_reg_index=0;
const lcd_data_struct lcd_check_reg = {
{
{0x0001,0x011B}, {0x0002,0x0700}, {0x0003,0x1230}, {0x0007,0x0037}, {0x0009,0x0000},
{0x000B,0x0000}, {0x000C,0x0003}, {0x0010,0x4140}, {0x0011,0x0000}, {0x0012,0x0013},
{0x0013,0x3611}, {0x0040,0x0000}, {0x0041,0x00EF}, {0x0043,0xDB00},
{0x0047,0x0000}, {0x0008,0x0202}, {0x0004,0x0000}, {0x0005,0x0000}, {0x0023,0x0000},
{0x0024,0x0000}, {0x0053,0x0000}
}
};
#ifdef DUAL_LCD
#ifndef COLOR_SUBLCD
const kal_uint8 SubLCDSetArray[]=
{
0x01, // 0000 0001
0x02, // 0000 0010
0x04, // 0000 0100
0x08, // 0000 1000
0x10, // 0001 0000
0x20, // 0010 0000
0x40, // 0100 0000
0x80 // 1000 0000
};
const kal_uint8 SubLCDReSetArray[]=
{
0xFE, // 1111 1110
0xFD, // 1111 1101
0xFB, // 1111 1011
0xF7, // 1111 0111
0xEF, // 1110 1111
0xDF, // 1101 1111
0xBF, // 1011 1111
0x7F // 0111 1111
};
#endif
#endif
void LCD_Delay(kal_uint32 delay_count)
{
volatile kal_uint32 delay;
for (delay =0;delay <(delay_count);delay++) {}
}
void LCD_DelayMs(kal_uint16 time)
{
volatile kal_uint32 delay;
while(time)
{
for(delay =0;delay <5000;delay++) {} // 1ms
time--;
}
}
void spi_ini(void)
{
}
#if (defined(MT6218B)||defined(MT6219)||defined(MT6217)||defined(MT6226)||defined(MT6226M)||defined(MT6227))
void init_lcd_interface(void)
{
kal_uint32 i;
REG_LCD_ROI_CTRL=0;
CLEAR_LCD_CTRL_RESET_PIN;
#if (defined(MT6219)||defined(MT6226)||defined(MT6226M)||defined(MT6227))
#if (defined(LCD_HX8347))
SET_LCD_PARALLEL_CE2WR_SETUP_TIME((kal_uint32)2); //range(0~3)
SET_LCD_PARALLEL_CE2WR_HOLD_TIME(2); //range(0~3)
SET_LCD_PARALLEL_CE2RD_SETUP_TIME(0); //range(0~15)
SET_LCD_PARALLEL_WRITE_WAIT_STATE(7); //range(0~31)
SET_LCD_PARALLEL_READ_LATENCY_TIME(0); //range(0~31)
SET_LCD_ROI_CTRL_CMD_LATENCY(8); //Avoid refresh LCM Error(Min:8) //range(0~1023)
#endif
#if (defined(MT6226)||defined(MT6226M)||defined(MT6227))
#if (defined(LCD_18BIT_MODE))
#ifndef __CUST_NEW__
GPIO_ModeSetup(55, 1);
#endif /* __CUST_NEW__ */
*((volatile unsigned short *) 0x801201B0) |= 0x4000;
*((volatile unsigned short *) 0x801201D0) |= 0x0001;
SET_LCD_PARALLEL_18BIT_DATA_BUS;
#elif defined(LCD_8BIT_MODE)
SET_LCD_PARALLEL_8BIT_DATA_BUS;
#elif defined(LCD_16BIT_MODE)
SET_LCD_PARALLEL_16BIT_DATA_BUS;
#elif defined(LCD_9BIT_MODE)
SET_LCD_PARALLEL_9BIT_DATA_BUS;
#endif
for(i=0;i<62;i++)
SET_GAMMA_TABLE(LCD_GAMMA_TABLE0, i, i);
SET_GAMMA_TABLE(LCD_GAMMA_TABLE0, 62, 61);
SET_GAMMA_TABLE(LCD_GAMMA_TABLE0, 63, 61);
SET_LCD_PARALLEL_GAMMA_R_TABLE(LCD_PARALLEL_GAMMA_TABLE0);
SET_LCD_PARALLEL_GAMMA_G_TABLE(LCD_PARALLEL_GAMMA_TABLE0);
SET_LCD_PARALLEL_GAMMA_B_TABLE(LCD_PARALLEL_GAMMA_TABLE0);
#endif
#if (defined(MT6219))
DISABLE_LCD_PARALLEL_SYNC;
#endif
#endif
SET_LCD_CTRL_RESET_PIN;
} /* init_lcd_interface() */
#endif /* MT6217, MT6218B, MT6219 */
void LCD_ClearAll_HX8306A(kal_uint16 data);
static void LcdHwInitialize_HX8306A(kal_uint8 isinitial)
{
#if defined(LCD_HX8347)
//******** Gamma Setting ***********************************
LCD_SET_REG(0x0046,0x0094); //IDMON=0,INVON=1,NORON=1,PTLON=0
LCD_DelayMs(5);
LCD_SET_REG(0x0047,0x0041); //MY=0,MX=0,MV=0,ML=0,BGR=0,TEON=0
LCD_DelayMs(5);
LCD_SET_REG(0x0048,0x0000); //N_DC=1001 0101
LCD_DelayMs(5);
LCD_SET_REG(0x0049,0x0033); //P_DC=1001 0101
LCD_DelayMs(5);
LCD_SET_REG(0x004A,0x0023); //I_DC=1111 1111
LCD_DelayMs(5);
LCD_SET_REG(0x004B,0x0045); //N_BP=0000 0010
LCD_DelayMs(5);
LCD_SET_REG(0x004C,0x0044); //N_FP=0000 0010
LCD_DelayMs(5);
LCD_SET_REG(0x004D,0x0077); //P_BP=0000 0010
LCD_DelayMs(5);
LCD_SET_REG(0x004E,0x0012); //P_FP=0000 0010
LCD_DelayMs(5);
LCD_SET_REG(0x004F,0x00CC); //I_BP=0000 0010
LCD_DelayMs(5);
LCD_SET_REG(0x0050,0x0046); //I_FP=0000 0010
LCD_DelayMs(5);
LCD_SET_REG(0x0051,0x0082); //N_RTN=0000,N_NW=001
LCD_DelayMs(5);
//******** 240X320 Windows Setting **********************
LCD_SET_REG(0x0002,0x0000); //Column address start 2
LCD_DelayMs(5);
LCD_SET_REG(0x0003,0x0000); //Column address start 1
LCD_DelayMs(5);
LCD_SET_REG(0x0004,0x0000); //Column address end 2
LCD_DelayMs(5);
LCD_SET_REG(0x0005,0x00EF); // Column address end 1
LCD_DelayMs(5);
LCD_SET_REG(0x0006,0x0000); // Row address start 2
LCD_DelayMs(5);
LCD_SET_REG(0x0007,0x0000); // Row address start 1
LCD_DelayMs(5);
LCD_SET_REG(0x0008,0x0001); // Row address end 2
LCD_DelayMs(5);
LCD_SET_REG(0x0009,0x003F); // Row address end 1
LCD_DelayMs(5);
//******** Display setting **********************
//LCD_SET_REG(0x0001,0x0006);
//LCD_DelayMs(5);
LCD_SET_REG(0x0016,0x0008);
LCD_DelayMs(5);
LCD_SET_REG(0x0023,0x0095);
LCD_DelayMs(5);
LCD_SET_REG(0x0024,0x0095);
LCD_DelayMs(5);
LCD_SET_REG(0x0025,0x00FF);
LCD_DelayMs(5);
LCD_SET_REG(0x0027,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x0028,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x0029,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x002A,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x002C,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x002D,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x003A,0x0001);
LCD_DelayMs(5);
LCD_SET_REG(0x003B,0x0001);
LCD_DelayMs(5);
LCD_SET_REG(0x003C,0x00F0);
LCD_DelayMs(5);
LCD_SET_REG(0x003D,0x0000);
LCD_DelayMs(5);
LCD_DelayMs(20);
LCD_SET_REG(0x0035,0x0038);
LCD_DelayMs(5);
LCD_SET_REG(0x0036,0x0078);
LCD_DelayMs(5);
LCD_SET_REG(0x003E,0x0038);
LCD_DelayMs(5);
LCD_SET_REG(0x0040,0x000F);
LCD_DelayMs(5);
LCD_SET_REG(0x0041,0x00F0);
LCD_DelayMs(5);
//******** Power supply Setting ***********************************
LCD_SET_REG(0x0019,0x0049); //OSCADJ=10 1000 OSD_EN=1
LCD_DelayMs(5);
LCD_SET_REG(0x0093,0x000F);
LCD_DelayMs(5);
LCD_DelayMs(10);
LCD_SET_REG(0x0020,0x0030); //BT=0100
LCD_DelayMs(5);
LCD_SET_REG(0x001D,0x0007); //VC2=100,VC1=100 DDVDH=VBGP*5.47 =4.6625
LCD_DelayMs(5);
LCD_SET_REG(0x001E,0x0000); //VC3=000 VREG3=DDVDH,
LCD_DelayMs(5);
LCD_SET_REG(0x001F,0x0007); //VRH=0110 VREG1=VBGP*2.8 =3.5
LCD_DelayMs(5);
//******** Vcom Setting for CMO 3.2"Panel ***********************************
LCD_SET_REG(0x0044,0x0036); //VCM=101 1010 5A
LCD_DelayMs(5);
LCD_SET_REG(0x0045,0x000A); //VDV=1 0001
LCD_DelayMs(5);
LCD_DelayMs(10);
LCD_SET_REG(0x001C,0x0004); //AP=100
LCD_DelayMs(5);
LCD_DelayMs(20);
LCD_SET_REG(0x0070,0x0066);
LCD_DelayMs(20);
LCD_SET_REG(0x0043,0x0080); //VCOMG=1
LCD_DelayMs(5);
LCD_DelayMs(5);
LCD_SET_REG(0x001B,0x0008); //GASENB=0,PON=1,DK=1,XDK=0,DDVDH_TRI=0,STB=0
LCD_DelayMs(5);
LCD_DelayMs(40);
LCD_SET_REG(0x001B,0x0010); //GASENB=0,PON=1,DK=0,XDK=0,DDVDH_TRI=0,STB=0
LCD_DelayMs(5);
LCD_DelayMs(40);
//******** Display on Setting ***********************************
LCD_SET_REG(0x0090,0x007F);
LCD_DelayMs(5);
LCD_SET_REG(0x0026,0x0004); //SAPS1=1000
LCD_DelayMs(5);
LCD_DelayMs(40);
LCD_SET_REG(0x0026,0x0024); //GON=1,DTE=0,D=01
LCD_DelayMs(5);
LCD_SET_REG(0x0026,0x002C); //GON=0,DTE=0,D=11
LCD_DelayMs(5);
LCD_DelayMs(40);
LCD_SET_REG(0x0026,0x003C); //GON=1,DTE=1,D=11
LCD_DelayMs(5);
LCD_SET_REG(0x0001,0x0006);
LCD_DelayMs(5);
//******** Set internal VDDD voltage ***********************************
LCD_SET_REG(0x0057,0x0002);
LCD_DelayMs(5);
LCD_SET_REG(0x0055,0x0000);
LCD_DelayMs(5);
LCD_SET_REG(0x0057,0x0000);
LCD_DelayMs(5);
#endif
if(isinitial)
LCD_ClearAll_HX8306A(0x0000);
}
#ifdef LCM_MMI_TYPE_QUERY
kal_uint8 get_lcm_type()
{
return LCM_TRANSMISSIVE_TYPE;
}
#endif
kal_uint16 readreg_HX8306A(kal_uint16 addr)
{
kal_uint16 return_data;
kal_uint32 read_data;
volatile kal_uint8 read_data1,read_data2;
kal_uint32 savedMask;
while (LCD_IS_RUNNING) {};
LCD_CtrlWrite_HX8306A(addr);
read_data = *(volatile kal_uint32 *)MAIN_LCD_DATA_ADDR;
read_data1= ((read_data >>10)&0x000000ff);
read_data2= ((read_data>>1)&0x000000ff);
return_data=(read_data1<<8)|read_data2;
while (LCD_IS_RUNNING) {};
return return_data;
}
kal_uint32 readreg_HX8306A_RAM(kal_uint16 addr)
{
kal_uint16 return_data;
kal_uint32 read_data;
volatile kal_uint8 read_data1,read_data2;
kal_uint32 savedMask;
while (LCD_IS_RUNNING) {};
LCD_CtrlWrite_HX8306A(0x0022);
read_data = *(volatile kal_uint32 *)LCD_HX8306A_DATA_ADDR;
while (LCD_IS_RUNNING) {};
return read_data;
}
void LCD_EnterSleep_HX8306A(void)
{
}
void LCD_ExitSleep_HX8306A(void)
{
}
void LCD_Partial_On_HX8306A(kal_uint16 start_page,kal_uint16 end_page)
{
}
void LCD_Partial_Off_HX8306A(void)
{
}
kal_uint8 LCD_Partial_line_HX8306A(void)
{
return 1; /* partial display in 1 line alignment */
}
void LCD_Init_HX8306A(kal_uint32 bkground, void **buf_addr)
{
kal_uint16 background = (kal_uint16)bkground;
CLEAR_LCD_CTRL_RESET_PIN;
LCD_DelayMs(10);
SET_LCD_CTRL_RESET_PIN;
LCD_DelayMs(10);
LcdHwInitialize_HX8306A(1);
}
void LCD_PWRON_HX8306A(kal_bool on)
{
}
void LCD_SetContrast_HX8306A(kal_uint8 level)
{
}
void LCD_ON_HX8306A(kal_bool on)
{
}
void LCD_blockClear_HX8306A(kal_uint16 x1,kal_uint16 y1,kal_uint16 x2,kal_uint16 y2,kal_uint16 data)
{
register kal_uint32 i = 0, j = 0;
#if( (defined(LCD_18BIT_MODE)) || (defined(LCD_9BIT_MODE)) )
kal_uint8 r_color,g_color,b_color;
r_color=(data&0xF800)>>10; //transfer to RGB666
g_color=(data>>5)&0x3F;
b_color=((data)&0x1F)<<1;
#endif
#if defined(LCD_HX8347)
LCD_SET_REG(0x02,(kal_uint8)(x1>>8));
LCD_SET_REG(0x03,(kal_uint8)x1);
LCD_SET_REG(0x06,(kal_uint8)(y1>>8));
LCD_SET_REG(0x07,(kal_uint8)y1);
LCD_SET_REG(0x04,(kal_uint8)(x2>>8));
LCD_SET_REG(0x05,(kal_uint8)x2);
LCD_SET_REG(0x08,(kal_uint8)(y2>>8));
LCD_SET_REG(0x09,(kal_uint8)y2);
LCD_CtrlWrite_HX8306A(0x22);
#endif
for(i=y1; i<=y2; i++)
for(j=x1; j<=x2; j++)
{
#if (defined(LCD_8BIT_MODE))
*((volatile unsigned char *) LCD_HX8306A_DATA_ADDR)=(kal_uint8)(data>>8);
LCD_delay_HX8306A();
*((volatile unsigned char *) LCD_HX8306A_DATA_ADDR)=(kal_uint8)(data);
LCD_delay_HX8306A();
#elif (defined(LCD_16BIT_MODE))
*((volatile unsigned short *) LCD_HX8306A_DATA_ADDR)=data;
#elif (defined(LCD_18BIT_MODE))
*((volatile unsigned int *) LCD_HX8306A_DATA_ADDR)=(r_color<<12)|(g_color<<6)|b_color;
#elif (defined(LCD_9BIT_MODE))
*((volatile unsigned short *) LCD_HX8306A_DATA_ADDR)=(r_color<<6)|(g_color>>3);
LCD_delay_HX8306A();
*((volatile unsigned short *) LCD_HX8306A_DATA_ADDR)=((g_color&0x07)<<6)|b_color;
LCD_delay_HX8306A();
#endif
}
}
void LCD_ClearAll_HX8306A(kal_uint16 data)
{
LCD_blockClear_HX8306A(0,0,LCD_WIDTH-1,LCD_HEIGHT-1,data);
}
void LCD_BlockWrite_HX8306A(kal_uint16 startx,kal_uint16 starty,kal_uint16 endx,kal_uint16 endy)
{
while (LCD_IS_RUNNING){};
lcd_assert_fail = KAL_TRUE;
#if defined(LCD_HX8347)
LCD_SET_REG(0x02,(kal_uint8)(startx>>8));
LCD_SET_REG(0x03,(kal_uint8)startx);
LCD_SET_REG(0x06,(kal_uint8)(starty>>8));
LCD_SET_REG(0x07,(kal_uint8)starty);
LCD_SET_REG(0x04,(kal_uint8)(endx>>8));
LCD_SET_REG(0x05,(kal_uint8)endx);
LCD_SET_REG(0x08,(kal_uint8)(endy>>8));
LCD_SET_REG(0x09,(kal_uint8)endy);
LCD_CtrlWrite_HX8306A(0x22);
DISABLE_LCD_TRANSFER_COMPLETE_INT;
DISABLE_LCD_ROI_CTRL_CMD_FIRST;
while (LCD_IS_RUNNING) {};
START_LCD_TRANSFER;
#endif
lcd_assert_fail = KAL_FALSE;
}
void LCD_Size_HX8306A(kal_uint16 *out_LCD_width,kal_uint16 *out_LCD_height)
{
*out_LCD_width = LCD_WIDTH;
*out_LCD_height = LCD_HEIGHT;
}
/*Engineering mode*/
kal_uint8 LCD_GetParm_HX8306A(lcd_func_type type)
{
switch(type)
{
case lcd_Bais_func:
return 1;
case lcd_Contrast_func:
return 1;
case lcd_LineRate_func:
return 4;
case lcd_Temperature_Compensation_func:
return 4;
default:
ASSERT(0);
return 100;
}
}
void LCD_SetBias_HX8306A(kal_uint8 *bias)
{
volatile kal_uint16 data_value = 0;
kal_uint16 data_addr = 0;
lcd_power_up();
data_addr = *bias;
data_value = readreg_HX8306A(data_addr);
kal_prompt_trace(MOD_ENG,"ENG read %x as %x",data_addr,data_value);
lcd_power_down();
}
void LCD_Contrast_HX8306A(kal_uint8 *contrast)
{
}
void LCD_LineRate_HX8306A(kal_uint8 *linerate)
{
}
void LCD_Temp_Compensate_HX8306A(kal_uint8 *compensate)
{
}
kal_bool LCD_ESD_check_HX8306A(){
volatile kal_uint16 data_value = 0;
volatile kal_uint32 ram_data_value = 0;
kal_uint16 data_addr = 0;
kal_uint32 lcd_draw_data;
kal_uint8 i,reg_start_idx, reg_end_idx;
kal_uint16 x1,x2,y1,y2;
kal_uint32 temp_r, temp_g, temp_b;
if (lcd_reg_index > 2)
lcd_reg_index=0;
while (LCD_IS_RUNNING) {};
if (lcd_reg_index==0){
reg_start_idx = 0;
reg_end_idx = 7;
}else if (lcd_reg_index==1){
reg_start_idx = 8;
reg_end_idx = 14;
}else{
reg_start_idx = 15;
reg_end_idx = N_lcd_reg-1;
}
for(i=reg_start_idx; i<=reg_end_idx; i++){
if (lcd_check==1){
data_addr = lcd_check_reg.reg.addr;
data_value = readreg_HX8306A(data_addr);
kal_prompt_trace(MOD_ENG,"--read %x as %x",data_addr,data_value);
if (data_value!=lcd_check_reg.reg.para) {
kal_prompt_trace(MOD_ENG,"ESD FAIL read %x as %x",data_addr,data_value);
return KAL_FALSE;
}
}
}
lcd_reg_index++;
while (LCD_IS_RUNNING) {};
return KAL_TRUE;
}
/*===================The above is LCD dependent==========*/
#if ( (defined(MT6205B)) || (defined(MT6218)) )
void LCD_memcpy(void *dst /*s1*/, const void *src /*s2*/, kal_uint16 size)
{
#ifdef LCD_DMAENABLE
kal_uint32 srcaddr=(kal_uint32)src;
kal_uint32 dstaddr=(kal_uint32)dst;
kal_uint16 size_MSB = (kal_uint16)(size >> 9);
kal_uint16 size_LSB = (kal_uint16)(size & 0x01ff);
ASSERT(lcd_assert_fail==KAL_FALSE);
lcd_assert_fail = KAL_TRUE;
ASSERT(DRV_Reg(LCD_REFR)==0x00);
if(size_MSB)
{
DRV_WriteReg(LCD_MSBSRC,(kal_uint16)(srcaddr >> 16));
DRV_WriteReg(LCD_LSBSRC,(kal_uint16)srcaddr);
DRV_WriteReg(LCD_REFR,0x0000);
DRV_WriteReg(LCD_MSBDST,(kal_uint16)(dstaddr >> 16));
DRV_WriteReg(LCD_LSBDST,(kal_uint16)(dstaddr));
DRV_WriteReg(LCD_CADDRSET,512);
DRV_WriteReg(LCD_PADDRSET,size_MSB);
DRV_WriteReg(LCD_CHOP,0);
DRV_WriteReg(LCD_PCON,LCD_PCON_DINC);
DRV_WriteReg(LCD_START,LCD_START_BIT);
while(DRV_Reg(LCD_GSTA)&LCD_GSTA_PRUN);
DRV_WriteReg(LCD_START,LCD_STOP_BIT);
}
if (size_LSB)
{
srcaddr = (srcaddr + size - size_LSB);
dstaddr = (dstaddr + size - size_LSB);
DRV_WriteReg(LCD_MSBSRC,(kal_uint16)(srcaddr >> 16));
DRV_WriteReg(LCD_LSBSRC,(kal_uint16)srcaddr);
DRV_WriteReg(LCD_REFR,0x0000);
DRV_WriteReg(LCD_MSBDST,(kal_uint16)(dstaddr >> 16));
DRV_WriteReg(LCD_LSBDST,(kal_uint16)(dstaddr));
DRV_WriteReg(LCD_CADDRSET,size_LSB);
DRV_WriteReg(LCD_PADDRSET,1);
DRV_WriteReg(LCD_CHOP,0);
DRV_WriteReg(LCD_PCON,LCD_PCON_DINC);
DRV_WriteReg(LCD_START,LCD_START_BIT);
while(DRV_Reg(LCD_GSTA)&LCD_GSTA_PRUN);
DRV_WriteReg(LCD_START,LCD_STOP_BIT);
}
lcd_assert_fail = KAL_FALSE;
#else /*!LCD_DMAENABLE*/
kal_mem_cpy(dst,src,size);
#endif /*LCD_DMAENABLE*/
}
#else /*!(MT6205B,MT6218)*/
void LCD_memcpy(void *dst /*s1*/, const void *src /*s2*/, kal_uint16 size)
{
kal_mem_cpy(dst,src,size);
}
#endif /*(MT6205B,MT6218)*/
LCD_Funcs LCD_func_HX8306A = {
LCD_Init_HX8306A,
LCD_PWRON_HX8306A,
LCD_SetContrast_HX8306A,
LCD_ON_HX8306A,
LCD_BlockWrite_HX8306A,
LCD_Size_HX8306A,
LCD_EnterSleep_HX8306A,
LCD_ExitSleep_HX8306A,
LCD_Partial_On_HX8306A,
LCD_Partial_Off_HX8306A,
LCD_Partial_line_HX8306A,
/*Engineering mode*/
LCD_GetParm_HX8306A,
LCD_SetBias_HX8306A,
LCD_Contrast_HX8306A,
LCD_LineRate_HX8306A,
LCD_Temp_Compensate_HX8306A
#ifdef __LCD_ESD_RECOVERY__
,LCD_ESD_check_HX8306A
#endif
};
void LCD_FunConfig(void)
{
MainLCD = &LCD_func_HX8306A;
} |
|