大家好。。
想知道是否有人对以下内容有一定的了解??
我使用 USCI_B0作为 I2C、连接到带背光的4x20 LCD 屏幕。 我找到了 Arduino 代码、并尝试在 Code Composer 中的 C 中重新创建它(这些 LCD 在 I2C 上的记录似乎很差、因为您必须将它们拼接在一起)。
我正在发送写入命令来设置器件、但我从未看到光标出现在屏幕上。 器件以4位模式进行通信。 器件中的所有字节都将获得良好的 ACKed。
事件的序列(至少根据 Arduino 代码)是在具有或不具有背光位(低半字节中的位3)的情况下写入高半字节、然后在位2 = 1 (启用位)的情况下再次写入高半字节、 最后、在位2 = 0 (使能位)时第三次写入高半字节、因为使能的下降沿会选通数据到控制器中。 对低半字节重复此过程、您应该已经将字节写入机器。
我的写入序列为0x30、(延迟4.5ms)、0x30、(延迟532us)、0x30、(延迟10ms)、 0x20、(10ms)、0x28、(延迟1ms)、0x08、 (延迟1ms)、 0x01、(延迟2ms)、0x06、(延迟1ms)、 0x0E (延迟25us)、最后为0x08。 (不确定为什么这3个写入前端的0x30、但似乎每个人都在这样做)
请参阅以下内容、了解显示其中一个字节和选通信号的逻辑分析仪捕获。 虽然不可见、但所有字节都在堆叠
有人能不能对我做的不正确的事给我一些启示……我在等
谢谢