新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2017-3-17
- 在线时间
- 15 小时
|
找了LCD白屏的原因找了好久,最后还是单步调试大法让我找到了原因所在复位没成功,十有八九就是LCD初始化失败了,原因,当然也就是在初始化函数里
单步调试后,发现程序卡在了 printf(" LCD ID:%x\r\n",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容量
|
|