项目场景:
STC12C5A60S2调试LCD12864显示汉字
问题描述
每次显示汉字,第一次汉字总是显示不对
code u8 *string[4]=
{
"床前明月光",
"疑是地上霜",
"举头望明月",
"低头思故乡",
};
第一行显示总是为:
42前明月光
另外换成其他任意汉字,第一个字总是不对,后面的字有概率不对
原因分析:
一开始怀疑时序有问题,不停的去网上找别人写的例程,拿过来调试发现还是不行。
然后怀疑是KEIL编码有问题,但是调到GB2312还是老样子。
后来又怀疑是液晶屏问题,重新找了个换下还是不行。
程序发给同事,他运行正常。
然后我就想起来可能是我板子供电不正常,丢了原装适配器,只是用一根线链接的USB 5V供电,之前用示波器测试发现电源有时候波动很厉害,导致数据脚数据出错。
解决方案:
于是直接将数据脚改成推挽输出,成功。
网上教程用的都不是增强型的芯片,并不会设置IO口。由于暂时没有适配器,无法检验没有设置成推挽输出在我的开发板上是否正常。