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.

[参考译文] CCS/MSP430G2553:MSP430G2553和旋转编码器

Guru**** 2561860 points
Other Parts Discussed in Thread: MSP430G2553

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/596349/ccs-msp430g2553-msp430g2553-and-rotary-encoder

器件型号:

工具/软件:Code Composer Studio

您好!

我能否获取用于 CCS 的 MSP430G2553的 asm 代码来读取旋转编码器、请。

此致

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

    TI 不提供此类资源、您可以从在线社区获取示例、但这很可能不是 ASM 代码。

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

    您应该指定确切的编码器类型。

    如果它只是 一个简单的两位输出器件、我可以为您提供帮助。

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

    您好!

    是的、 它只是 一个简单的 A 和 B 两位输出器件。

    提前感谢

    安德烈

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

    [引用用户="Ficko Andrej"]

    器件型号: MSP430G2553

    工具/软件:Code Composer Studio

    您好!

    我能否获取 用于 CCS 的 MSP430G2553的 asm 代码来读取旋转编码器、请。

    此致

    [/报价]

    Steve Gibson 在他的一个新闻组中发布了一个链接、指向他的汇编器代码的 png 图像、用于输入旋转编码器中的数据。  它是为 G2231编写的、这意味着它也应该在 G2553上运行。  我不知道它是为什么 IDE 编写的。  它每秒轮询这么多次来读取编码器、而不是在编码器开关状态改变时生成中断。  这是一种非常简单的实现方法、不需要硬件或软件去抖。

    基本上、当进行轮询且两个输入都为低电平时、会设置一个事件标志。  否则将保存开关的当前状态。  然后、当标志置位时、两个输入第一次都为高电平、事件标志被清除、 并且开关之前保存的状态会告诉您编码器旋钮的旋转方向。  因此、在两个电压均为低电平后、最后一个变为高电平的开关将为您提供读数。  不需要去抖、因为到最后一个开关恢复高电平时、另一个开关已经足够高、可以稳定。 如果最后一个开关发生中断、则无关紧要、因为事件标志不再被设置。

    他使用的编码器的脉冲数与锁定相同、因此从一个锁定位置到下一个锁定位置时、两个开关都经过一个完全关闭/打开周期、使两个锁定位置都保持打开状态。  我使用过一个采用这种方法的电路、它运行得很好。  我不记得轮询频率、但它可能是512Hz。

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

    感谢您提供代码。 没关系、但我需要具有中断的代码。 很抱歉,我没有告诉我这个错误。

    如果可能、我需要针对正交输出旋转编码器使用具有中断的 asm 代码。 它必须检测 CCW 或 CW 旋转。 2个输入和2个输出。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果将来有人遇到这个线程、我想澄清一下、我上面发布的 Gibson 代码是基于周期性 WDT 中断的、因此从这个意义上讲、它是由中断驱动的。 但它不依赖于编码器引脚状态变化所产生的中断、这会更加复杂。 不过,我觉得我留下了一个印象,就是用了人工轮询,但却没有这样做。