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.

[参考译文] MSP430G2231 38KHZ 1%占空比的输出?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/785781/the-output-of-msp430g2231-38khz-1-duty-cycle

主题中讨论的其他器件:MSP430G2231MSP430G2353

MSP430G2231 38KHZ 1%占空比的输出?

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

    对于 PWM 波、频率=时钟源/CCR0、占空比= CCR1/CCR0。 例如、要输出具有8MHz SMCLK 源的38KHZ 1%占空比 PWM、则 CCR0= 8000/38=211、CCR1 = 21。  请参阅以下代码示例以供参考。

    #include 
    
    int main (void)
    {
    WDTCTL = WDTPW + WDTHOLD; //停止 WDT 

       //8MHz
       if (CALBC1_8MHZ=0xFF)// if 校准常数被擦除
       {
          while (1);//请勿加载,陷阱 CPU!!
       }
       DCOCTL = 0;//选择最低 DCOx 和 MODx 设置
       BCSCTL1 = CALBC1_8MHZ;//设置范围
       DCOCTL = CALDCO_8MHZ;//设置 DCO 阶跃+调制  

    P1DIR |= 0x0C; // P1.2和 P1.3输出
    P1SEL |= 0x0C; // P1.2和 P1.3 TA1/2操作
    CCR0 = 211; // PWM 周期/2
    CCTL1 = OUTMOD_6; // CCR1切换/设置
    CCR1 = 21; // CCR1 PWM 占空比
    TACTL = tassel_2 + MC_3; // SMCLK、上行-下行模式
    
    _ bis_SR_register (LPM3_BITS); //输入 LPM3
    }
    

     B.R

    冬季

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

    感谢您的回答、此程序未成功编译。

    需要在低功耗模式下工作、谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、MSP430G2231只提供1MHz DCO 校准数据。 要输出具有1MHz SMCLK 源的38KHZ 1%占空比 PWM、则 CCR0= 1000/38=26.3、CCR1 = 2.63。 由于 CCRx 寄存器只能设置为整数值、因此使用此配置会导致大错误。 因此、建议使用支持8MHz 时钟的另一个器件、例如 MSP430G2353。