【发布时间】:2017-06-29 23:32:40
【问题描述】:
我是电子新手,已经完成了有关如何使用liquidCrystal_I2C 在 Arduino 中通过 I2C 操作 16x2 字符 LCD 的教程。一切正常,但我对 I2C 和 LCD 之间的低级交互有疑问。查看库的源代码,我注意到在编写 4 位半字节 (LiquidCrystal_I2C::write4bits) 时,代码首先将半字节写入 I2C 扩展器
(LiquidCrystal_I2C::expanderWrite),然后在触发 Enable 位时写入再次。为什么第一个expanderWrite 是必要的?为什么 write4bits 不能只调用pulseEnable(设置了黑光位)?
我确信这是有原因的,因为我检查了 RPCLCD 等其他库并看到了类似的模式。任何人都可以启发我吗?谢谢。
【问题讨论】: