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%的方波,请问大家如何做?添加那个语句。 改成这个样子好像可以
#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]