跟楼上,在清屏后建议延时一段时间,充分清除。也可以读取BF标志位(看单片机是不是忙) |
每次写之前加个清屏指令试一下 |
这类问题主要容易发生在刷新字符个数不一。关键是LCD定位不准,原来字符没有清除干净。实际就是程序有不易察觉的漏洞。有一个方法可以避免此毛病:定义两个长度16的缓存数组,一个用于上排,一个用于下排。把固定字符按序排列,其它用空格或0填充,程序运行中要改变的显示内容以字符形式写进数组。更新LCD显示内容时一次把缓存16个字符全部刷新。 |
建议将显示函数写成带行列和内容的格式,那样找问题容易书写更直观。 |