msp430g2553 捕获功能,好像没有进入中断~求指导~

2019-03-24 12:18发布

msp430g2553 捕获功能,好像没有进入中断~求指导~

#include <msp430g2553.h>

unsigned int capture1_value = 0;

void main()
{
  WDTCTL = WDTPW + WDTHOLD;
  BCSCTL1 = CALBC1_16MHZ;  //设定cpu
  DCOCTL = CALDCO_16MHZ;   //配置DCOCLK产生16M时钟
  BCSCTL2 |= SELM_1 + DIVM_0 + DIVS_0;  //主时钟MCLK选择DCOCLK,不分频.子时钟SMCLK选择DCOCLK,不分频

  P1DIR &= ~BIT2;   //P1.2 INPUT
  P1SEL |= BIT2;   
  TACTL = TASSEL_2 + TACLR + MC_1; //SMCLK,up mode
    //capture 1
  TACCTL1 = CCIE + CM_2 + CCIS_0 + CAP + SCS ;    //neg. edge,enabled interrupt,CCIxA,capture mode,            
  TACCR1 = 16;  
  _BIS_SR(GIE);
  while(1)
  {}

}

#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer_A0 (void)
{
  switch (TAIV)
  {
  case 0x02:
    TACCTL1 &= ~CCIFG;
    capture1_value = TACCR1;
  case 0x04:break;   //capture 2
  case 0x0a:break;
  }
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
elulis
1楼-- · 2019-03-24 15:38
 精彩回答 2  元偷偷看……
elulis
2楼-- · 2019-03-24 21:00
< :TI_MSP430_内容页_SA7 --> #pragma vector = TIMER0_A0_VECTOR
改为#pragma vector = TIMER0_A1_VECTOR

CCR1、CCR2的中断在A1里面
benni
3楼-- · 2019-03-24 23:01
我改了,好像还是不行啊,capture1_value这个变量一下是0,没有变,怎么回事~
elulis
4楼-- · 2019-03-25 04:40
 精彩回答 2  元偷偷看……
benni
5楼-- · 2019-03-25 10:19
还是不行,没有变化~
elulis
6楼-- · 2019-03-25 12:39
晕,我调试下看看……

一周热门 更多>

相关问题

    相关文章