|
адрес индикатора задается в драйвере.
задержка OSTimeDly(1); 10мс
f_write просто выкидывает по и2ц блок данных.
void LCD_BIOS_SetContrast(unsigned char c){ // 0-127
unsigned char ctrl1seq[] = {0,1,0x0D,0x80,0x05};//
ctrl1seq[3] |= c;
f_write(i2file,ctrl1seq,sizeof(ctrl1seq));
}
int LCD_L0_Init(void){
unsigned char ctrl1seq[] = {0,1,0x0E/*110*/,0x12/*bias*/,0x84/*mux*/,0x04/*D,E*/,0x24/*IB*/,
1, 0x10/*PD,V*/,
0x0B/*011*/,0x58/*TRS,BRS*/,0x05/*DM*/
};
unsigned char ctrl2seq[] = {0,1,0x0D/*101*/,0x09/*MUL3*/,0x0A/*MUL4*/,0x0B/*MUL5*/,
1,0x0B/*011*/,0x04/*DM*/,
1,0x0E/*110*/,0x0E/*MIRROR*/,0x07/*D,E*/
};
i2file = f_open("i2c1",0);
f_write(i2file,ctrl1seq,sizeof(ctrl1seq));
OSTimeDly(2);
LCD_BIOS_SetContrast(45);
OSTimeDly(2);
f_write(i2file,ctrl2seq,sizeof(ctrl2seq));
return 0;
}