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 05:38
数码小叶 发表于 2015-7-22 11:42
用示波器先看下1.0有输出没

示波器检测到P1.0输出32kHz,是对的。

一周热门 更多>

相关问题

    相关文章