小弟请教此程序 pwm 控制灯亮度为啥不好使

2019-03-24 13:55发布

#include "msp430g2553.h"
void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;                                 //关看门狗
  TACTL=TASSEL_1+TACLR+MC_1;                                    //ACLK为时钟源,清TAR,增计数模式
  TACCR0=512-1;                                 //设定PWM周期
  TACCTL1=OUTMOD_7;                                       //CCR1输出为reset/set模式
  TACCR1=55584;                                   //CCR1的PWM占空比设定
  TACCTL2=OUTMOD_7;                                      //CCR2输出为reset/set模式
  TACCR2=28;                                   //CCR2的PWM占空比设定
  P1DIR|=BIT0 + BIT6;                                   //P1.2、P1.3输出,对应TA1,TA2
  P1SEL|=BIT0 + BIT6;                                  //TA1,TA2输出功能
  while(1);
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
zhanghua1209
2019-03-25 05:49
我试了试 没找到TA0.2的输出口   
换成TA1.用示波器测试的是对的
#include "msp430g2553.h"
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //关看门狗
TA1CTL=TASSEL_1+TACLR+MC_1; //ACLK为时钟源,清TAR,增计数模式
TA1CCR0=2000; //设定PWM周期
TA1CCTL1=OUTMOD_7; //CCR1输出为reset/set模式
TA1CCR1=1000; //CCR1的PWM占空比设定
TA1CCTL2=OUTMOD_7; //CCR2输出为reset/set模式
TA1CCR2=1500; //CCR2的PWM占空比设定
P2DIR|=BIT1 + BIT4; //P2.1、P2.4输出,对应TA1.1,TA1.2
P2SEL|=BIT1 + BIT4; //对应TA1.1,TA1.2
while(1);
}

一周热门 更多>

相关问题

    相关文章