cunlingwang 发表于 2012-2-1 17:04:18

MSP430 的P1.1可否输出PWM,对应TA0.0

最近用msp430g2452,用到PWM 。



#include<msp430g2452.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD;               // Stop WDT
P1DIR |= 0x06;                            // P1.1 P1.2 output
P1SEL |= 0x06;                            // P1.1 P1.2 TA1/2 otions
CCR0 = 28-1;                           // PWM Period
CCTL0 = OUTMOD_7;                         // CCR0 reset/set
                                          
CCTL1 = OUTMOD_7;
CCR1 = 14;                               // CCR1 PWM duty cycle
                              
TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode

_BIS_SR(LPM0_bits);                     // Enter LPM0
}

CCR0是设置周期的,假设为28-1。
P1.2设CCR1 为14
P1.1设CCR0 ???

以上是P1.2可以输出占空比为50%的方波,对应TA0.1,但是P1.1对应TA0.0,输出不了占空比为PWM为50%的方波,请问大家如何做?添加那个语句。

cunlingwang 发表于 2012-2-1 17:12:10

改成这个样子好像可以


#include<msp430g2452.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD;               // Stop WDT
P1DIR |= 0x06;                            // P1.1 P1.2 output
P1SEL |= 0x06;                            // P1.1 P1.2 TA1/2 otions

CCTL0 = OUTMOD_4;                         // CCR0 reset/set
CCR0 = 28-1;                           // PWM Period                                       
CCTL1 = OUTMOD_4;
CCR1 = 14;                               // CCR1 PWM duty cycle
                              
TACTL = TASSEL_2 + MC_3;                  // SMCLK, up mode

_BIS_SR(LPM0_bits);                     // Enter LPM0
}
页: [1]
查看完整版本: MSP430 的P1.1可否输出PWM,对应TA0.0