我正在使用MSP430F5418和带有 easyGUI 的ST7565R LCD 控制器。我正在使用SPI与 LCD 通信。
假设我有一个这样的屏幕:
但是有时(很少)当我按下一个键(任何使测试板移动的东西,通常是在按下键时出现)时,屏幕是这样的:
我没有对这个更改的代码做任何事情......为什么会发生这种情况?
这听起来像是你的代码中的一个错误——我不熟悉 easyGUI 或特定控制器的细节,所以这只是一个疯狂的猜测,但会不会发生在你的代码中的某个地方你会做 a printf
or write
to stdout which然后会转到同一个设备,这也是您的显示器,当这些字符之一是换行符或当行环绕显示器时会卷起一个字符?
我尝试在每个 LCD 命令之前添加“显示起始行为零”命令,这样屏幕就不会损坏。这对我有用:-)。因此在移动设备时避免了松动的连接。
看起来您正在使用定制的 LCD 玻璃。如果是这种情况,请检查显示控制器和 LCD 玻璃之间的连接。如果连接不好,可能是显示控制器打开了错误的段。
检查 LCD 玻璃的引脚排列以及编程为打开的段与实际打开的段,以查看它们是否在相邻的引脚上。如果是,那么您的连接器可能是问题所在。