msp430g2553中断的问题

2019-03-24 12:52发布

我想编程长生一个终端来控制pwm的占空比变化,p1.3按键作为中断,可是我按了键发现波形没变化,这是怎么回事,这个中断函数用来控制灯的暗灭变化时可以的,这么到了这个程序里就不行了???紧急求助。。。。。。。。。
程序如下。。。。求大神给力。。。
#include  <msp430g2553.h>
void key_init();
void main(void)
{
static int i;
//XTS(1);
//XT1OFF(0);
//XT1BYPASS(0);
//XCAP(0);
  _EINT();         //打开全局中断
  WDTCTL = WDTPW + WDTHOLD;
// Stop WDT禁止看门狗
  P1DIR |= BIT2;                          // P1.2 and P1.3 TA1/2 options 1为选引脚第二功能,0为引脚第一功能1
  P1SEL |= BIT2;
  CCR0 = 512-1;                             // PWM Period
  CCTL1 = OUTMOD_7;// CCR1 reset/set
i=168;
  CCR1 =i;              // CCR1 PWM duty cycle
TACTL = TASSEL_1 + MC_1;                  // ACLK时钟, 上升沿捕获
_BIS_SR(CPUOFF);                          // Enter LPM0

}
void key_init()
{
P1DIR&=~BIT3;     //P1.3为输入
   P1REN|=BIT3; //设置上拉
   P1OUT|=BIT3;
  P1IES|=BIT3; //高电平到低电平有效,即下降沿
  P1IFG&=~BIT3; //清除中断标志,带上这句最好
  P1IE|=BIT3;
}
#pragma vector=PORT1_VECTOR //中断
__interrupt void port1(void)
{
if(P1IFG&BIT3)
{
  static int i;
  if(i<=511)
    i += 168;
  else i = 0;      // 调整占空比
    P1IFG&=~BIT3; //这句清除中断标志
}
else
    P1IFG=0X00;
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
Enjoy972430161
2019-03-24 23:28
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章