关于LCD复位后白屏的解决方法

2019-08-16 21:20发布

找了LCD白屏的原因找了好久,最后还是单步调试大法让我找到了原因所在复位没成功,十有八九就是LCD初始化失败了,原因,当然也就是在初始化函数里
单步调试后,发现程序卡在了   printf(" LCD ID:%x ",lcddev.id); //打印LCD ID  这里
忽然恍然大悟,因为有这一句,所以在主函数开始初始化LCD_init前要先加上uart串口的初始化函数,这样printf才能执行下去,而不是一直等待uart的应答
当然也可以将这一句注释掉。
当然,出现白屏的问题也可能是 delay_ms(50); // delay 50 ms
        LCD_WriteReg(0x0000,0x0001);
        delay_ms(50); // delay 50 ms  
这几句的延时时间,一般来讲50ms是足够的,但万一前面的方法不行,不妨试试将时间调长
嗯~ o(* ̄▽ ̄*)o,还有LCD的初始化函数很长,所以可以先烧LCD的例程确定自己手中LCD的型号后,把其他型号的初始化删掉,减少flash容量

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。