This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2355:正在寻找具有 I2C 通信功能的4 x 20 LCD 的见解?

Guru**** 654100 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1168380/msp430fr2355-looking-for-insight-for-4-x-20-lcd-with-i2c-communication

器件型号:MSP430FR2355

大家好。。

想知道是否有人对以下内容有一定的了解??

我使用 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、但似乎每个人都在这样做)

请参阅以下内容、了解显示其中一个字节和选通信号的逻辑分析仪捕获。 虽然不可见、但所有字节都在堆叠

有人能不能对我做的不正确的事给我一些启示……我在等  

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没有使用过这些器件中的一个、但我的第一个猜测是、它们只是在基于 HD44780的 LCD 的前面放置了一个 I2C、而您通过的是与您将使用并行连接进行的位拆裂等效的器件。 高4 位似乎是 DB7-DB4。 如果位2是 E、那么我假设位3是 R/S 写入0x30 3次听起来像复位序列一样模糊熟悉(可在4位或8位模式下识别)。

    自从我使用其中一个器件以来、已经有很长的时间了、但在本 HD44780数据表中、表6和12对于逆向工程可能很有用:

    https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

    [编辑:HD44780已经很长一段时间了、因此谷歌搜索可能会提供大量信息。]

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,我一直在查看该数据表...非常确定 RS 是位1,但我看到了一个 STM32的在线代码,显示它是位0。  无论如何、我使用逻辑分析仪监测 RS、并始终将其视为低电平。  因此、我很有信心发送命令(在我使这些命令正常工作后将确定数据)。  现在我很高兴看到一个闪烁的光标...... 您认为 RS 是位3的原因是什么?   我在4位模式下的理解以及看到代码和查看表12时,数据是在7 - 4上的,位3是背光的,位2是使能的,位1是 Rs,位0是 R/W...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果不对目标硬件有更好的了解、则很难说。 我怀疑它是5V 器件、因此您可能需要根据其逻辑转换电平进行一些电平转换。 查看其文档。

    对于重复的命令、这是 HD44780 LCD 控制器的标准配置。 我已经编写了几次代码。 和8位模式下的数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您已经知道位分配、那么您将领先于我。 此时、我将通过表6和/或表12尝试将您发送的内容与建议的序列相匹配。 我最近看到的一个产品是作为单独的 I2C 器件提供背光。

    有一次、我使用了一个基于 UART 的"背包"(也有两根导线、但不是多滴线)、这种背包呈现了更高层次的抽象、并在封盖下执行了所有的比特流和打结延迟;这些设计人员似乎没有遵循这条路径。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大卫…

    是的,虽然我的供电电压是5V,但我不知道芯片组和转换“可能”是一个问题,但设备似乎可以处理我发送的所有内容,所以我认为我在这里是好的.....

    您能在您所做的4位数据上分享任何光吗?  它是 I2C 吗?如果是、我最初发布的频带和命令是否看起来正确?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我从未使用过具有 I2C 接口的 LCD。 您面前有该界面的文档(我没有)、您必须弄清它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    由于这个线程更多地是关于您所连接的目标器件、而不是连接的 MSP430、我将这个线程标记为"TI 认为已解决"、因为 MSP430似乎没有问题。 然而,这条线将保持开放,以促进社区之间的这一讨论。