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.

[参考译文] LP-MSPM0G3507:使用 GPIO 的 LCD 驱动

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1259741/lp-mspm0g3507-lcd-drive-using-gpios

器件型号:LP-MSPM0G3507
主题中讨论的其他器件:SysConfig

您好!

我正在尝试使用 GPIO 端口驱动段式 LCD、是否有与 MSPM0 SDK 配合使用的任何参考设计? LCD 规格

1/3偏压- 3个 COM 和21个段。

提前感谢  

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

    您好 Staneslouse:

    在下一次更新 MSPM0 SDK 中、我们将包含用于驱动外部 LCD 段显示的基于软件的解决方案。 此 SDK 应在本月内推出。 说明该示例的随附应用手册仍处于暂挂状态。 有关详细信息、请与 TI 销售代表联系。

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

    Jace、您好!

    我已下载包括 LCD 示例在内的新 SDK。 我想知道此版本是否支持定制段式 LCD 显示屏?

    此致

    斯坦尼斯

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

    Stanes,

    需要对其进行修改以适合少于4条 COM 线的显示。 添加任意数量的段对该解决方案都没有问题。  

    基本流程是相同的、但需要更改状态机和您的映射缓冲区以适合3个 COM。 这可能意味着您的表映射过程也可能不同。 我猜这里可能是因为我还没有完成奇数 COM 线配置的练习。  

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

    Jace、您好!

    是的、我明白、如果您有应用手册、可以与我分享。

    此致

    斯坦尼斯

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

    Stanes,

    与此代码相关的应用手册仍在开发中、目前尚未提供。  

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

    Jace、您好!

    我收到了应用手册草稿、并尝试了 LCD_multiport 示例、也对 COM 线进行示波、我想知道没有看到任何电压偏差-我认为 COM 端口应该会生成多电压电平波形、如果我弄错了、请更正我。

    谢谢!

    此致

    斯坦尼斯卢斯

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

    您好 Staneslouse:

    是否已将外部上拉电阻连接到 COM 引脚? 它们是正常运行所必需的。  

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

    Jace、您好!

    是的、我已将 COM 连接到外部分压器  

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

    Staneslouse 宾馆,

    我将在本周晚些时候深入了解这一点。 您使用单端口还是多端口版本?  在尝试代码之前、您是否选择了任何 SysConfig 设置?  

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

    Jace、您好!

    我尝试了多端口版本、没有将任何 SysConfig 设置更改为此版本。 但我使用了修改后的 SysConfig 在定制显示屏中的单个端口。 -两个给了我相同的结果。

    此致

    斯坦尼斯卢斯

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

    Staneslouse 宾馆,

    我看到可用代码版本有什么问题。 在项目的 SysConfig 中、修改计时器、点击"Start Timer"复选框、然后在"Interrupt Configuration"下启用"Zero Event"中断。 这些设置似乎没有被复制过来。  

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

    Jace、您好!

    我已根据您的建议更正了上述错误、 我注意到 COM 波形有了一些改进、但不像我想的那样、请查看随附的图像、并建议我此 COM 波形是正确的。

    请详细说明 此命令 #define SEGMENT_LINE_PORT_SPLIT 6、我认为这可以 使两个端口分开、不是吗?

    此致

    斯坦尼斯卢斯

    紫色- COM2/蓝色- COM1/天蓝色- COM0

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

    Staneslouse 宾馆,

    我会在此处再次检查从 Launchpad 到您的试验电路板的连接(假设)。 还要确保 LP 上与您所选的引脚没有冲突(移除电路板上其他位置的跳线)。 我今天也遇到了问题、但事实证明我的 LP 与试验电路板之间的电线存在问题。

    SEGMENT_LINE_PORT_SPLIT 仅用于多端口示例。 它在软件中指明您将在 与端口相关的位置拆分段(端口段 结束的位置和 PORTB 段开始的位置)。 请记住、段必须成对。 SEG 0+1、Seg2+3、SEG 4+5等  

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

    Jace、您好!

    我认为您采用了单端口示例进行了检查、我使用多端口示例进行检查 、并且我更改了 COM 引脚并产生了正确的模式、

    我有一个简短的问题、我要尝试为3COM 修改此示例-我需要保持 相同的 LCD 更新周期 还是可以减少 ?

    此致

    斯坦尼斯卢斯

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

    Staneslouse 宾馆,

    正确、我考察的是单个端口、但基础代码是相同的。 初始开发并非在 Launchpad 上完成、因此可能会发生引脚冲突。 目的是让客户更改其未来 LCD 的引脚。

    对于3COM、我认为您需要减少 LCD 更新他明、否则您将具有"死"状态、并可能在屏幕上看到伪影。  

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

    Jace、您好!

    我针对3COM 修改了 LCD 更新状态机、并将计时器值更改为0.1mS、以减少闪烁和虚假效应。

    现在我担心的是,使用 LCDWriter ()将一个细分市场转换成一个细分市场,当我尝试打开 seg1的所有三个元素时,它没有,而是指向 seg3。

    此外、在 TI 应用手册中有一个显示数字‘4'的示例–根据我的自定义 LCD、我无法使数字‘4'为8位值、因为对于此 LCD、我必须考虑段 x、x+1和 x+2、请参阅随附的 LCD 映射。

    您能建议一下、此 LCD 的数字映射有任何不同的方法吗?

    此致

    斯坦尼斯卢斯

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

    Staneslouse 宾馆,

    你需要重写 LCDWriteCharacter()以使用 Base 3 COM 移位和屏蔽来适应你的情况。 你必须对 gNumberMap[array]执行相同的操作。 由于必须连续使用三个段、因此对端口的访问和写入可能也会有所不同、或者非常复杂。  

    无论您选择向 LCD 存储器缓冲区写入字符、 状态机的工作方式是手动切换 COM 引脚进行写入、然后在 LCD 状态机的后续周期中切换整个 GPIO 端口。 LCD 存储器缓冲器对 GPIO 端口一一一、并使用与有效引脚相同的屏蔽。 因此、如果您正确设置了缓冲器、一切都应该就位。  

    这正如我在开始时所说的那样、我可以建议的那样、使用奇数个 COM 端口的工作尚未从软件实现的角度进行探讨、而且超出了本解决方案的范围。