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.

[参考译文] MSP430G2553:可以使用一个计时器为 RGB LED 生成3个 PWM 输出?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/751501/msp430g2553-possible-to-generate-3-pwm-outputs-for-rgb-led-with-one-timer

器件型号:MSP430G2553
主题中讨论的其他器件:MSP430FR2000

大家好、社区

我正在尝试使用红外接收器构建 RGB LED 控制单元。

MSPG2533具有两个16位计时器、每个计时器具有3个捕捉比较寄存器。
将使用一个计时器来解码来自 IR 接收器的 IR 信号。
我想使用第二个计时器生成3个 PWM 输出。

但是、根据我在数据表中看到的情况、我所想到的设置似乎不可能:
想法是让计数器持续运行、在计时器溢出时设置输出并复位输出
当定时器计数器(TAR)值达到相应的捕获比较值(CCRx)时在一个通道上。
因此、基本而言、我希望所有三个通道上的情况完全相同。

系列数据表显示了一些示例、其中包括章节中的图形。"输出示例—中的计时器"
连续模式"。 它似乎总是以特殊的方式处理 CCR0、并影响生成的输出
CCR1和 CCR2。

是否有办法使用三个 CCR 寄存器及其输出、而不会相互干扰?

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

    嗨 Lars、

    遗憾的是、CCR0将对 CCRx 信号产生影响。  这是 《MSP430x2xx 系列用户指南》中的图表。   

    在 连续模式下运行时、我看到了两个可能的选项来完成使用计时器中断所需的行为:  

    1. 切换 ISR 中的 GPIO (4个中断)
      1. 当 TAIFG 标志被置位时、复位所有 GPIO
      2. 当每个 CCRx 标志被置位时切换相关的 GPIO
    2. 对所有 CCRx 使用设置或复位输出模式
      1. 在 TAIFG 上、复位定时器并重新配置它

    您认为这些解决方案中的任何一种都可以满足您的应用需求吗?   

    此致、

    JD

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

    解决方案1可以正常工作、我必须在周末尝试。

    我认为我不理解您的第二个解决方案应该是什么样的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗨 Lars、

    实际上、我们在"25个函数、$.25"电子书中介绍了类似的应用、网址 为:www.ti.com/.../

    第14-15页应包含您所需的所有信息。 有一个新 MSP430FR2000 MCU 的代码示例、以及2个有关使用 MSP430进行 RGB 控制的应用手册。

    看看这些!

    JD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢您、我刚刚快速浏览了一下、在周末将进行更仔细的查看、但这看起来与我所需要的完全相同。