如何使这个简单的PWM示例工作?

时间:2020-06-08 09:40:28

标签: msp430 pwm

在以前仅使用STM32之后,我才开始使用MSP430微控制器,并且由于我仍然是所有这些的初学者,因此更改很多,但我一直在努力使简单的PWM输出正常工作。

在办公室,我们周围有一个备用开发板,所以我正在使用它。它是MSP-TS430PZ100B(USER GUIDE,第142-144页),使用的特定微控制器是MSP430F6736。我正在使用的包装的引脚说明从第12页开始。

我正在遵循一个简单的PWM示例程序,该程序找到了HERE。但是,我改变了输出引脚。查看我正在使用的微控制器的数据表,定时器TA0默认映射到P1.0和P1.1,所以我不再像示例那样使用P1.2,而是将其更改为P1.0(P1.0也是板载LED所在的位置)。

所以,我的代码如下:

#include <msp430.h> 

int main(void) {

    WDTCTL = WDTPW + WDTHOLD; //Disable the Watchdog timer

    P1DIR |= BIT0; //Set pin 1.0 to the output direction.
    P1SEL |= BIT0; //Select pin 1.0 as PWM output.

    TA0CCR0 = 1000-1;             // PWM Period
    TA0CCTL1 = OUTMOD_7;          // CCR1 reset/set
    TA0CCR1 = 250;                // CCR1 PWM duty cycle
    TA0CTL = TASSEL_2 + MC_1;   // SMCLK, up mode
}

因此,我对微控制器进行了编程,但没有任何反应。我在输出端放了一个示波器,甚至没有闪烁。保持在0V。该引脚可以很好地用作输出,当我编写一个简单的程序手动切换端口opn / off时,它可以正常工作,但是当尝试这个简单的示例程序时,我什么也没得到。

我认为我忽略了一些简单的事情,但似乎看不到它。我在这里做错什么了?

0 个答案:

没有答案
相关问题