SPI LCD与Arduino的接口

时间:2014-02-05 07:34:07

标签: arduino spi lcd

我有一个液晶显示器,我正在尝试与arduino接口。它使用SPI作为其通信接口,并且有一个应用说明,详细说明了与之通信的代码。我的问题是我不知道如何将应用笔记中的代码转录为基于C语言的处理/ Arduino。

这是一项有人可以帮助我的简单任务吗?我只需要能够在这个屏幕上写两行文字,仅此而已。

数据表:http://www.newhavendisplay.com/specs/NHD-C0216CZ-FSW-FBW-3V3.pdf

应用说明:http://www.newhavendisplay.com/app_notes/NHD-C0216CZ.txt

谢谢

附加说明:LCD屏幕有一个ST7032等效控制器。我尝试谷歌为这个控制器的Arduino库,但是很短暂

1 个答案:

答案 0 :(得分:2)

  

这是一项简单的任务......

没有

  有人可以帮助我吗?

以下内容可帮助您了解示例并让您获得成功。对于某些嵌入式系统,变量直接耦合到IO引脚。所以样本中的这些代码行:

RST = 0;
SCL = 1;

似乎什么都不做。但变量耦合到IO引脚,因此代码只是咬住LCD屏幕。他们将变量命名为与原理图中的引脚相同。在Arduino上,所有看起来像变量赋值的行( _ = 0 _ = 1)将被写入替换:

digitalWrite(pinRst, 0); 
digitalWrite(pinScl, 1);

LCD的接口是一个3线串行接口,具有芯片选择,时钟和数据 - 这方面相当普遍。 RST引脚只是为了处于干净状态。 RS引脚有点独特 - 它选择通过3线接口发送的是命令还是数据。

这应该让你开始翻译。我要提醒的是,在没有示波器或逻辑分析仪的情况下开发这样的硬件接口代码将会非常痛苦。如果代码具有最小的错误,LCD可能无效。不会有错误消息或任何有用的反馈:(没有仪器,你只需要盯着你的代码并追踪它在你脑子里正在做什么。如果你让它工作,胜利 - 发布在github上!

一旦成功,请查看Arduino SPI库。该器件不是标准的4线串行器件,因为它使用相同的线来写入数据和读取数据。如果只写入LCD,则可以使用SPI类替换位操作代码。