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.

[参考译文] CC3220SF-LAUNCHXL:如何在 LCD 上显示

Guru**** 2595770 points
Other Parts Discussed in Thread: CC3220SF, CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/768870/cc3220sf-launchxl-how-to-display-on-lcd

器件型号:CC3220SF-LAUNCHXL
主题中讨论的其他器件:CC3220SFCC3200

我已将电路板配置为从传感器读取温度并将数据存储到变量。 现在、我想获取该变量并将其打印到 LCD 上、与传感器提供的示例类似:

https://www.youtube.com/watch?v=bDsVtriitdU

我已将4个 GPIO 引脚配置为 LCD 的数据输出、因为它兼容4或8条数据线。 我现在的问题是如何对其进行编码以发送数据。 我想发送一个字符串"Temp is:"、后跟存储的变量。 我不熟悉使用 LCD 的方法。 如果 LCD 有用、我将提供它的数据表。

https://cdn-shop.adafruit.com/datasheets/TC1602A-01T.pdf

cdn-shop.adafruit.com/.../HD44780.pdf

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

    您好!

    只需简单地对您的显示模块进行评论。 根据上面链接的数据表、此显示屏在5V VCC 下工作、数据信号也为5V。 这意味着您无法将此模块直接连接到 CC3220。 CC3220的数字 I/O 不能承受 TTL。 您需要对数据信号使用电压电平转换器。

    显示驱动器 HD44780绝对是经典产品。 您可以在互联网上找到大量的代码。

    1月

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

    正如 Jan 指出的、我会使用该显示驱动程序在线查找代码示例、然后将其集成到您的现有程序中。
    E2E 社区成员为 MSP430开发了以下库、您可以查看这些库:
    e2e.ti.com/.../666684
    虽然它假定您使用的是 MSP430,但通过一些简单的修改,可以使用 SimpleLink GPIO_write()函数更改 MSP430样式的 GPIO 写入,它也适用于 CC3220。 在 HD44780.c 文件的顶部,有一堆 HD44780_*定义直接映射到您需要更改的寄存器写入。

    如果您需要进一步澄清或有进一步的问题、请告诉我。

    此致、
    Michael
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供、现在可以使用 CC3220向 LCD 发送信号、因为根据数据表、信号需要5V、CC3220不提供。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您需要使用像 learn.sparkfun.com/.../all这样的电压电平转换器。

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

    我计划使用您在回答中包含的 MSP430库、我有一些问题。 您说"通过一些简单的修改、可以使用 SimpleLink GPIO_write()函数更改 MSP430样式 GPIO 写入、它也应该适用于 CC3220 "

    这是否需要包含 GPIO 库?

    这是否也意味着我可以调用定义内的 GPIO_write()函数来更改代码中预期的引脚极性?

    Laslty、为了得到一些澄清、我必须同时包含"CC3220SF_LAUNCHXL.h"和"Board.h"文件才能访问我为数据传输设置的 GPIO 引脚?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是的、您需要包含 CC3220SF_LAUNCHXL.h 和 。 如果您在 Board.h 中使用宏来定义 GPIO 枚举、则还需要包含这些枚举。 如果您要基于现有的传感器代码示例进行构建、则应将 TI 驱动程序库正确包含在链接器中、这样就不需要在其中执行任何操作。

    您应该只能在这些定义内调用 GPIO_write(),并使用正确的 GPIO 枚举来更改引脚极性。 您可能还需要进行一些其他修改、因为该库是针对 MSP430进行编码的、但需要记住的是 GPIO 更改最重要。

    此致、
    Michael
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需对转换为 GPIO 写入进行一点澄清即可:

    #define HD44780_ENABLE_HIGH HD44780_ENABLE_MCU_OUT_PORT |= HD44780_ENABLE_MCU_OUT_PIN

    将其转换为 GPIO_write()看起来是这样的吗?

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

    您好!

    它比这更复杂一些。

    首先、您需要在 CC3220SF_LAUNCHXL.c 和 CC3220SF_LAUNCHXL.h 中配置 GPIO 基本上、您需要在 gpioPinConfigs[]和 enum CC3220SF_LAUNCHXL_GPIOName 中为每个新 GPIO 添加一个条目。 您可以在本帖子中找到一个有关如何操作的示例,尽管 pleas 使用* CC32XX*定义,而不是旧的 CC3200定义:

    https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/p/711953/2624759#2624759

    假设您现在已在 CC3220SF_LAUNCHXL_GPIOName 中添加了两个 GPIO、GPIO_06和 GPIO_28以及相应的枚举。 然后、您可以按如下方式更改这些 GPIO 定义:

    #define HD44780_ENABLE_HIGH GPIO_WRITE (GPIO_06、1) 

    此致、

    Michael

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

    太棒了、我已经这么做了、所以我对这是否起作用有点好奇、但我创建了 GPIO、命名它、路径如下

    姓名:

    HD44780_D0_MCU_OUT_PIN =  TEMP_LCD_DB11 =  LCD_DB11 = GPIO 28

    文件路径:

    hd44780.h -> Board.h -> C3220SF_LAUNCHXL.h

    那么、只要我包含头文件、这是否允许我创建之前发布的语句?  

    #define HD44780_ENABLE_HIGH      GPIO_WRITE (HD44780_ENABLE_MCU_OUT_PIN、1)

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

    是的、这应该起作用。 尝试一下、看看是否一切都按预期工作。

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

    在数据表中、它告诉我 GPIO 引脚的电压输出、我对其进行解密时遇到了一些困难。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    从 LCD 数据表中:

    从 CC3220的数据表中:

    事实:

    • 您有 CC3220 LaunchPad .... VBAT/Vio 为3.3V;数字输出的高电平为~3.3V数字输入的绝对最大值为3.8V
    • 您的 LCD 具有 Vdd 5V;输出总线的高电平为~5V高电平总线的最小输入电压为3.5V

    结论:

    CC3220 LaunchPad 将无法为写入操作的高电平状态(3.3V VS 3.5V)提供适当的电压电平。 读取操作中的情况将会更糟。 LaunchPad 上 CC3220中输入的绝对最大值为3.8V (3.3+0.5)、但 LCD 将输出设置为~5V。

    我建议在 LCD 和 CC3220之间使用电压电平转换器。 可能可以直接连接、但 CC3220上的输入将在指定的最大额定值之外使用。 也可能是直接连接会破坏 CC3220上的数字输入。 谁知道。 因为它取决于 CC3220芯片本身的内部设计。 如何在 I/O 端口等处设计保护"二极管"

    1月

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

    我假设您已经解决了问题并使 LCD 正常工作、因为我们没有听到您的反馈。 如果没有、请随时发布对此主题的响应、或打开有关此问题的新主题。

    此致、
    Michael