MSP430F5529无法进入捕获中断

2019-03-24 09:55发布

参照《MSP430单片机原理与应用——msp430F5xx/6xx系列单片机入门、提高与开发》一书中定时器部分介绍,利用TA1定时器,工作在捕获模式,上升沿触发捕获,参考时钟SMCLK,通过中断读取定时器捕获值,将ACLK通过P1.0输出,与P2.0相连。P2.0配置为定时器捕获输入。

#include <msp430.h>

int i=0;

int Cycle[2];

void main(void)

{

  WDTCTL=WDTPW+WDTHOLD;

  P1DIR|=BIT0;                                          

  P1SEL|=BIT0;                                         P1.0选择ACLK输出;

  P2DIR&=~BIT0;

  P2SEL|=BIT0;                                          P2.0与P1.0相连,配置为定时器捕获输入;

  TA1CTL=TASSEL_2+MC_2+TACLR;                       TA1主时钟SMCLK,连续计数模式,清除TAR;

  TA1CCTL1=CM0+SCS+CAP+CCIE;                          CCR1工作于捕获模式,同步捕获,上升沿触发,中断使能;

  _ _BIS_SR_register(LPM0_bits+GIE);                         进入LPM0并使能全局中断;

}




#pragma vector=TIMER1_A1_VECTOR                      中断程序;

_ _interrupt void TIMER0_A1_ISR(void)

{

        Cycle[i]=TA1CCR1;

        i++;

        if(i=2) i=0;

        TA1CCTL1 &=~CCIFG;

        LPM0_EXIT;

}

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
power001gg
2019-03-25 09:24
找到问题了,P1.0输出的信号,需要单独用跳线引出连接到P2.3引脚,才能正确捕获。内部没有通路让P1.0的信号直接传输到P2.3上面。

一周热门 更多>

相关问题

    相关文章