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.

[参考译文] MSP430F6775A:LCD_C

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1454267/msp430f6775a-lcd_c

器件型号:MSP430F6775A

工具与软件:

您好!

我想询问 LCDFRMIFG 的情况、该值在我设置  LCDCVCTL = LCDCPEN 后设置、并且在调试期间无法复位。 是否正常或表示存在配置错误? 我使用了 CCS 中包含的特定模型的示例配置。

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

    尊敬的 Peter:

    请参阅以下有关 LCDFRMIFG 的说明:

    因此、它通常在帧边界设置。

    B.R.

    SAL

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

    您好!

    是的、我已经看到过这一点、但我已经将数据写入存储器寄存器以点亮相应的段。 不应该自动清除它?  

    谢谢你。

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

    尊敬的 Peter:

    是的、需要清除。

    如何找到它的标志? 我建议您在写入存储器寄存器后设置一个断点、以防在校验时再次设置该断点。

    B.R.

    SAL

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

    嗯、在本例中、它仍是在整个程序执行期间设置的。 我已经在程序执行期间尝试了池化、以避免一些 JTAG 的不便、并且仍然设置标志 NONSTOP。 所以我不知道原因是什么?

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

    尊敬的 Peter:

    如何使用以下场景进行测试:

    1.启用 LCD

    2.等待  LCDFRMIFG 置位

    将 LCD 写入存储器寄存器

    4.禁用 LCD

    5.检查中断标志

    B.R.

    SAL

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

    您好!

    好的、我会尝试的。

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

    当然。

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

    好的、我做了类似的事情

    //将数据写入 LCDC 存储器

    LCDM27 |= 0x80;

    //关闭 LCDC 模块

    LCDCCTL0并且=~μ H LCDON;

    并清除标志。 调试模式工作。

    但现在出于某种原因、我做了池化、标志也在自由运行模式下被清除。

    是的、关闭屏幕会有所帮助、并且标志已重置。

    但我现在注意到、在调试模式下、当我在设置 LCDC 而不将其关闭后设置断点、并且将数据写入存储器时、该位始终会设置、但在自由运行模式下、该位并未设置。 只有在我设置 LCDC 后更改时钟源时、它才会设置。 仅适用于自由运行模式。

    在设置 LCDC 之前进行时钟初始化时、该时钟未设置为自由运行模式。 但它是在调试期间设置的。

    在调试模式下、该位都是被设置的。

    但在自由运行中、当我通过对象池检查该标志时、仅当我在设置时钟源后执行时钟初始化时、才会设置该标志。我的意思是 MCLK SMCLK 和 ACLK 的所有时钟。

    我正在检查 LCDC 的标记与这样的池:

    if (LCDNOCAPIFG ==(LCDCCTL1和 LCDNOCAPIFG)||
    LCDBLKONIFG =(LCDCCTL1和 LCDBLKONIFG)||
    LCDBLKOFFIFG =(LCDCCTL1和 LCDBLKOFFIFG)
    || LCDFRMIFG =(LCDCCTL1和 LCDFRMIFG)  
    )

    TurnLightOn();


    while (1);

    }

    因此、设置 LCDC 模块后更改时钟配置是否会导致此位保持设置? 还可以始终在调试模式下设置该标志吗? 当 LCDC 关闭时、标志会在配置后复位、但仅在这种情况下适用。  

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

    尊敬的 Peter:

    设置 LCDC 模块后更改时钟配置是否会导致仍设置此位?

    使用 LCD 需要来自 VLOCLK/ACLK 的时钟、如果在 LCD 初始化之后更改时钟设置、则可能会出现意外行为。

    以下情况如何:

    初始化时钟->初始化 LCD ->更改时钟->手动清除中断标志->使用使能 LCD 检查标志状态。

    我不知道,但它值得一试。 无论如何、这不是建议的操作。

    并且是否可以始终在调试模式下设置该标志?

    实际上处于调试模式、即使您设置了断点也是如此。 与 LCD 时钟一样、仍将生成 MCU 时钟。 所以、当你检查状态时、你将发现由于下一个帧 边界已来复位而设定中断标志。 这是我的猜测。

    B.R.

    SAL

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

    您好!

    好的、我会尝试。

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

    您好!

    如果我可能在 exmamples 中有配置。

    //设置 LCD_C
    // LCD_FREQ = ACLK/32/4、LCD 多路复用器4、打开 LCD
    LCDCCTL0 = LCDDIV_31 | LCDPRE_1 | LCD4MUX | LCDON;

    //在2.96V 电压下内部生成电荷泵、生成外部偏置(V2-V4)
    //电荷泵的内部基准
    LCDCVCTL = LCDCPEN | VLCD_2_96;
    REFCTL0 &=~μ V REFMSTR;

    LCDCPCTL0 = 0x0000;//选择 LCD 段20-21
    LCDCPCTL1 = 0x0030;//

    我想询问    在 LCDON 已置位时、是否可以将 LCDCPCTL0和 LCDCPCTL1置位。 我的意思是、手册中有与此相关的注释、但在示例中、它是视点、那么哪一个是正确的? 我还尝试了该配置、看起来效果不错。 那么、是否会有任何副作用?

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

    尊敬的 Peter:

    我 同意手动注释。 请参阅用户指南。

    那么是否有任何副作用?

    我不知道,但它看起来有一个本体风险在这里。

    B.R.

    SAL

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

    您好!

    好的、我应该何时打开 LCD。 配置结束了吗? 我是否应避免在 LCD 打开时写入 LCD 存储器寄存器? 我只是想 确定.

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

    尊敬的 Peter:

    并且我是否应避免在 LCD 开启时写入 LCD 存储器寄存器?

    如果您的意思是 LCDMx、则没有必要。

    您可以将其配置为显示不同的字符。

    B.R.

    SAL

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

    您好!

    好的、所以我在这里输入的 LCDC 配置不正确、只需在最后设置 LCDON 即可 不是在开头,还是有什么我应该避免的?