您的位置 首页 嵌入式

MSP430F149 TIMER_A(一)——16位守时计数

TIMER_A有四个可选时钟源,为了方便一般选择ACLK和SMCLK,经过分频器产生一个时基,其结构图如下:TIMER_A有三种定时计数方式:(1)增

TIMER_A有四个可选时钟源,为了便利一般挑选ACLK和SMCLK,通过分频器发生一个时基,其结构图如下:

TIMER_A有三种守时/计数方法:

(1).增计数模式:计数周期:TAR从0增加到TACCR0,

(2).接连计数形式:计数周期:TAR从0增加到0xffff,

(3).增减计数形式:计数周期:TAR从0增加到TACCR0然后再从TACCR0减到0

由上图可见TIMER_A的中止标志有两个,分别是TAIFG和CCIFG。TACTL中的TAIE答应发生TAIFG中止标志,中止进口是TIMERA_1 VECTOR即0FFEAh,此进口有三个中止源,由TAIV的值决议。

在IAR中,进入中止服务的方法如下:

#pragma vector=中止向量的进口地址

__interrupt void函数名(类型)

比方:

#pragma vector=0x14
__interrupt void my_handler(void);
TIMERA0_VECTOR是单中止源的,因而不需求判别
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0 (void)
{
P4OUT^=BIT0;
}
已然TIMERA1_VECTOR由三种中止源,则需求判别,比如如下
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1 (void)
{
switch(TAIV)
{
case 0x02:break;
case 0x04:break;
case 0x0a:P4OUT^=BIT0;break;
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/260389.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部