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:定时器输出切换/置位模式显示意外行为

Guru**** 2550790 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/898999/msp430g2553-timer-output-toggle-set-mode-shows-unexpected-behavior

器件型号:MSP430G2553

您好!

我的客户正在评估 MSP430G2553 Launchpad、并发现以下问题。

他配置 Timer0并在 P1.6上输出 TA0.1信号。
-向上/向下计数模式
- TA0.1输出为切换模式或切换/设置模式
- CCR1为0或等于 CCR0
随附源代码。 相应地更改了第17行和第18行。

#include 
#include 
void main (void)
{
WDTCTL = WDTPW +WDTHOLD;
if (CALBC1_1MHz = 0xFF || CALDCO_1MHz = 0xFF){
while (1);
}
/* 1MHz */
BCSCTL1 = CALBC1_1MHz;/*设置范围*/
DCOCTL = CALDCO_1MHz;/*设置 DCO 阶跃+调制*/*---
//
P1DIR |= 0x41;// P1.0和 P1.6为输出*/
P1OUT &= 0x00;
P1SEL |= BIT6;
CCR0 = 1000;//设置 PWM 周期*/
CCR1 = 1000;//设置 CCR1值*/
CCTL1 = OUTMOD_6;// CCR1切换/设置*/ CCR1 = 1000;//设置 CCR1值*3
+ TALL_CTL /* SMCLK,向上/向下计数模式*/
} 


然后、他得到了以下结果。
如果 CCR1=0:

如果 CCR1=CCR0:


切换模式工作正常、但切换/设置模式似乎出现意外行为。
您能否查看代码并告诉我切换/设置模式为何显示此类输出?

谢谢、此致、
田志郎一郎

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

    您好、Koichiro、

    我建议客户查看有关 G2553计时器的示例代码。 然后、他/她将从名为"msp430g2xx3_TA_xx.c"的所有代码中获得答案

    http://dev.ti.com/tirex/explore/node?devices=MSP430G2553&node=ALFfIDtjUH-HwRytz.WJPQ__IOGqZri__LATEST

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

    您好、Wei、

    感谢您的快速回复。

    我检查了这些示例,msp430g2xx3_TA_19.c 几乎与客户的代码相同。
    唯一的区别是 CCR0、CCR1值和进入 LPM0。
    该示例使用;
    CCR0=128、CCR1=32、则获得75%占空比。
    客户使用 CCR0=CCR1=1000或 CCR0=1000、CCR1=0。

    您的意思是 CCR1不能等于0或 CCR0值、以确保正常运行?
    (我想使用这些值不实用、但在用户指南中不禁止)

    谢谢、此致、
    田志郎一郎

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

     您好、Koichiro、

    很抱歉回复迟到了。

    您可以尝试 CCR1 = 0、这意味着占空比为100%。 那么、这对于 PWM 来说是没有意义的。   

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

    您好、Wei、

    当客户尝试 CCR0=128、CCR1=32时、预期输出。
    您的意思是下面的意思吗?
    - CCR1=0为100%占空比(输出始终为高电平)
    - CCR1=CCR0为0%占空比(输出始终为低电平)

    谢谢、此致、
    田志郎一郎

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

    大家好、Tashiro-san、

    我认为这是计时器的规格。

    切换/设置模式通常用于获取 PWM 信号。

     当您设计 PWM 控制电路时、您期望 达到99.9%的值。

    当 CCR0=1000处于上行/下行和切换/设置模式时、CCR1的输出 在 CCR1=1时输出99.9%的占空比信号。

    当您递减 CCR1时、您必须预计不能为50%、而是100%、因为99.9 + 0.1 = 100.0。  

    这就是 CCR1=0时输出为高电平的原因。

    同样、当 占空比值为0.1%时。  这是 CCR1 = CCR0 - 1时的占空比。

    CCR1的下一个输出值为0.0%占空比、这意味着当 CCR1 = CCR0时、电压较低。

    此致、

    马萨