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条回答
benni
1楼-- · 2019-03-25 14:41
 精彩回答 2  元偷偷看……
elulis
2楼-- · 2019-03-25 19:31
TACTL = TASSEL_2 + TACLR + MC_2; //SMCLK,Continous mode 这样可以了。
benni
3楼-- · 2019-03-26 01:28
为什么是要连续计数模式?
elulis
4楼-- · 2019-03-26 04:51
 精彩回答 2  元偷偷看……
benni
5楼-- · 2019-03-26 07:19
当满足捕获条件的时候不是会把TAR里的值传给TACCR1的吗,为什么调试的时候的TACCR1的值就是main里的值的?
benni
6楼-- · 2019-03-26 09:52
恩。。非常感谢,那我再好好看看datasheet吧,还有不懂的,还请你多多指教~

一周热门 更多>

相关问题

    相关文章