进入睡眠,把reset拉低;
退出睡眠重新走初始化试试
static void lcm_suspend(void)
{
#ifdef BUILD_LK
printf("zhufurong_lk_lcm_suspend");
#else
printk("zhufurong_kernel_lcm_suspend");
#endif
//zfr0729add
#if 0
send_ctrl_cmd(0x28);
MDELAY(5);
send_ctrl_cmd(0x10);
MDELAY(120);
#else
//send_ctrl_cmd(0x10);
SET_RESET_PIN(1); //for test
MDELAY(25); //for test
SET_RESET_PIN(0);
MDELAY(5); //25
SET_RESET_PIN(1);
MDELAY(60); //50
#endif
}
static void lcm_resume(void)
{
#if 0
send_ctrl_cmd(0x29);
MDELAY(5);
send_ctrl_cmd(0x11);
MDELAY(120);
#else
SET_RESET_PIN(1); //for test
MDELAY(25); //for test
SET_RESET_PIN(0);
MDELAY(5); //25
SET_RESET_PIN(1);
MDELAY(60); //50
init_lcm_registers();
MDELAY(120);
#endif
}
使用命令方式:
send_ctrl_cmd(0x28);lcm 可能没有完全进入待机状态,虽然lcm已经灭屏,但还存在暗电流。所以利用lcm的IC的特性,直接拉RESET脚,使lcm真正进入待机状态。
MDELAY(5);
send_ctrl_cmd(0x10);
MDELAY(120);
lcm使用的IC是HX8347I
版权声明:本文为qwzboshipobi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。