我有一个HD44780 LCD屏幕,并且我已经使用设置有Arduino的开发包的LiquidCrystal库。然而,这是不可靠的。我注意到一些问题,它,而不是被中断驱动的,它只是睡觉,只要开发者认为该芯片应该执行的操作。

从规格表中,BUSY标志将被设置,同时它被执行时,这意味着它能够被中断驱动。

没有人知道,它实际执行这个文库的,并且它要求所有8位要连接或我可以保持它在4个引脚?

其他提示

前一段时间我修改LiquidCrystal LIB支持忙标志。 请注意,真正的中断驱动操作的不可以可能 - 每个阅读你需要切换E nable线的两倍。因此,您需要轮询忙标志。

然后我做一些基准的发现,即轮询忙碌标志是的不仅仅是等待最命令。 (唯一的例外是“清除”和“家”命令)。其原因是,该读出模式和写入模式之间的切换等需要8个附加呼叫digitaWrite和8个附加呼叫pinMode aditional的步骤。即使使用16MHz的Arduinos这不仅仅是等待100μs的慢。

在我写直接和在体模式操纵销寄存器库 - 所有8个管脚与一个寄存器访问。之后,我在球场通过查询得到一些好处。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top