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.

能不能提供Timer_A内部原理框图里的EQU0,EQUx以及OUTx相关的时序图?

能不能提供Timer_A内部原理框图里的EQU0,EQUx以及OUTx相关的时序图?

 

例如输出模式7,增计数模式

到底能不能设置TACCRx=TACCR0?

到底能不能设置TACCRx=0?

假如TACCR0=255,那么50%占空比,那么TACCRx到底应该设置为多少?

0%占空比能不能实现?100%占空比呢?我看到其它类型的单片机有0%占空比可以像其它占空比值一样直接设置的,100%占空比不能完全达到,但是也可以像其它占空比值一样直接设置,只不过不能够完全达到100%,有一丁点小小的误差。

  • 谢谢回答,可是没看到什么呀,是个演讲稿,即使如此,也没有我所问的内容相关

  • 你好!

    你提到的Timer in  Up ModeOutput Mode 7: Reset/Set ,可以实现0% 和 100%占空比。

    25Mhz SMCLK 时钟源为例:

    通过TAxCCR0设置周期,当TAxCCR0 = 250,输出PWM wave周期为100khz

    配置TAxCCTL1,使TAxCCR1比较结果通过IO输出。

    TAxCCR1 = 0    时, 输出占空比为0%

    TAxCCR1 = 251时,输出占空比为100%

  • 你好!

    你手上有没有开发板,可以按照下面步骤做一下实验:

    void main (void)

    {

     

        WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

        设置对应IO输出;  

        TAxCCR0 = 250;                                           // Set Period  

        TAxCCTL1 = OUTMOD_7;                             // Output Mode 7: Reset/Set

        TAxCCR1 = 0;                                              // Set duty cycle, 0 for 0%, 251 for 100%

        TAxCTL = TASSEL__SMCLK + MC_1;          //  SMCLK, up mode

    }

     

  • 首先,按照一些资料,好像TAxCCR0 = 250应该设置为TAxCCR0 = 249呀,是不是这样?

    还有,用户往往都是在程序中要调节的,往往都是连续调节,那么按照您的程序,TAxCCR1 = 250的时候是什么输出呢?难道要在程序中判断为100%单独设置?

     

    另外,根据原理框图:

    OUTx是通过D触发器输出的,这是需要时钟触发的,这里面就有一个时序问题吧,难道是下一个定时器时钟也就是CCRx+1的时候实际才起变化的?

    所以我想知道EQU0,EQUx以及OUTx等等的时序图

  • duty cycle = (TAxCCR0 / 251) * 100%

    TAxCCR1 = 250, duty cycle = (250 / 251) * 100%