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.

[参考译文] MSP430F5335:未生成正确的 PWM

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/569472/msp430f5335-not-generating-correct-pwm

器件型号:MSP430F5335

HII、

我  已经使用计时器 B 将 msp430f5335与4MHz 外部振荡器搭配使用。我正在获取 PWM、但 不值得使用正确的频率。 它始终显示(10^3) 小于实际值(使用 Tektronix TDS 2024c DSO )

例如:

 我想得到5*(10^5) Hz,但它显示5*(10^2) Hz

我写过这样的

#include "declation.h"
void gen_pwm ()

WDTCTL = WDTPW + WDTHOLD;//停止看门狗计时器
P1DIR |= BIT0;
P4DIR |= BIT1;
P4SEL |= BIT1;

InitClocks();
TB0CTL =TBSSEL_1_+ MC_1 +ID_3;  
TB0EX0 = TBIDEX_7;
// TB0CTL |=TBCLR;
TB0CCR0 = 1000;
TB0CCTL1 = OUTMOD_7;
TB0CCR1 = 250;
TB0CTL |=TBCLR;

while (1);

我已经为时钟生成编写了不同的函数。 时钟工作正常。

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

    您应首先启用 XT2振荡器、并相应地选择时钟源。 请检查 源代码示例msp430f66xx_UCS _08.c 在这里、您还将看到如何检查 SMCLK 频率。 首先、您要确保计时器(传入)时钟频率正确、然后才能查看其产生的结果。

    另请注意、计数器从0开始计数、因此如果您希望计时器周期为1000、CCR 应设置为999

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    时钟工作正常、我已验证
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然后、您可能需要查看 PWM 源代码示例