Try this:
Code: Select all
void n6100_lcd_init()
{
n6100_lcd_reset();
// Display control
n6100_lcd_write_cmd(DISCTL);
n6100_lcd_write_data(0x00); // 2 divisions, Field swithcing period
n6100_lcd_write_data(0x20); // 132 lines to be display
n6100_lcd_write_data(0x00); // Inversely hightlighted lines - 1
n6100_lcd_write_cmd(COMSCN); // comscn
n6100_lcd_write_data(1);
n6100_lcd_write_cmd(OSCON); // oscon
n6100_lcd_write_cmd(SLPOUT); // sleep out
n6100_lcd_write_cmd(PWRCTR); // power ctrl
n6100_lcd_write_data(0x0f); // everything on, no external reference resistors
n6100_lcd_write_cmd(DISINV); // display mode
n6100_lcd_write_cmd(DATCTL); // datctl
n6100_lcd_write_data(0x01);
n6100_lcd_write_data(0);
n6100_lcd_write_data(0x02);
n6100_lcd_write_cmd(VOLCTR); // electronic volume, this is kinda contrast/brightness
n6100_lcd_write_data(0x20); // this might be different for individual LCDs
n6100_lcd_write_data(0x03);
n6100_lcd_delayus(1000);
n6100_lcd_write_cmd(DISON); // display on
// wait 1ms
n6100_lcd_delayus(10000);
}