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.

[参考译文] DRV91680 Timer B PWM 控制

Guru**** 2604385 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/652705/drv91680-timer-b-pwm-controll

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

我不熟悉此 MCM DRV91680和 MSP430系列。

我通过逐个练习核心功能来学习此 MCM。

Timer B PWM 控制中存在一些问题。

我已经尝试了很多次、但仍然没有信号出来。

这是我的代码。  

#include

void main (void)

WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
CCSCTL0 = SCSKEY + WSEN + DIVA_8 + DIVS_0 + DIVM_1;// SMCLK = 25MHz = MCLK SMCLK=12.5m ACLK=3.125M

///PWM 引脚配置
P2DIR |= 0xFE;//设置 P2.1、P2.2、P2.3、P2.4、 P2.5和 P2.6作为输出
P2SEL |= 0x7E;//端口2用作定时器输出


TBCTL |= TBSSEL_0;//时钟源。 主时钟
TBCTL |= ID_0;//时钟分频器。 25MHz 主时钟分频器
TBCCR0 = 1000;//周期定时器 B 计数、1250计数表示50us

//将 Put 模式设置为 GPIO 低电平
TBCCTL1 = OUTMOD_0;
TBCCTL2 = OUTMOD_0;
TBCCTL3 = OUTMOD_0;
TBCCTL5 = OUTMOD_0;
TBCCTL4 = OUTMOD_0;
TBCCTL6 = OUTMOD_0;

//复位比较
TBCCR1 = 0x00;
TBCCR2 = 0x00;
TBCCR3 = 0x00;
TBCCR4 = 0x00;
TBCCR5 = 0x00;
TBCCR6 = 0x00;

_bis_SR_register (GIE);

TBCCR1 = 100;
TBCCR2 = 100;
TBCCR3 = 100;
TBCCR4 = 100;
TBCCR5 = 100;
TBCCR6 = 100;

TBCCTL1 = OUTMOD_0;
TBCCTL2 = OUTMOD_6;
TBCCTL3 = OUTMOD_0;
TBCCTL5 = OUTMOD_0 | BIT2;
TBCCTL4 = OUTMOD_0;
TBCCTL6 = OUTMOD_0;

TBCTL = 0x0000;//清除控件
TBCTL = TBSSEL_2 | TBCLR | MC_1;

while (1){}
}  

>

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

     (笑声)

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

    假设您不是要单击 Resolved 按钮、我们已通知 DRV9x 专家、他们应尽快查看您的问题。

    如果您的问题得到解决、请随时告知我们、我将关闭该主题。

    谢谢、
    Cole