📄 timers.c
字号:
/*------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------*/
#include "includes.h"
#if TA_EN
/*------------------------------------------------------------------------------------------------------
功能:配置计时器A
入口:
出口:
------------------------------------------------------------------------------------------------------*/
void InitTA(void)
{
P1DIR=0x07; //bit 0,1,2 out
TACTL=TASSEL_1 | ID_0+MC_2;
TACCTL0=CCIE;
TACCR0=1000;
TACCTL1=CCIE;
TACCR1=2000;
TACCTL2=CCIE;
TACCR2=3000;
}
/*------------------------------------------------------------------------------------------------------
功能:计时器A的TACCR0 CCIFG中断服务历程
入口:无
出口:无
------------------------------------------------------------------------------------------------------*/
#pragma vector=TIMERA0_VECTOR
__interrupt void IntTACCR0(void)
{
P1OUT=0x01;
TACCR0+=3000;
}
/*------------------------------------------------------------------------------------------------------
功能:计时器A的TAI中断服务历程
入口:无
出口:无
------------------------------------------------------------------------------------------------------*/
#pragma vector=TIMERA1_VECTOR
__interrupt void IntTAI(void)
{
if((TAIV&0x0002)!=0)
{
P1OUT=0x02;
TACCR1+=3000;
}
else
{
P1OUT=0x04;
TACCR2+=3000;
}
}
#endif
#if TB_EN
/*------------------------------------------------------------------------------------------------------
功能:配置计时器B
入口:
出口:
------------------------------------------------------------------------------------------------------*/
void InitTB(void)
{
P2DIR=0x04; //bit 1 out
P2SEL=0x04; //TB2 out
TBCTL=TBSSEL_1 | MC_3;
TBCCTL1=OUTMOD_4;
TBCCR0=10000;
TBCCR1=2000;
}
/*------------------------------------------------------------------------------------------------------
功能:计时器B的TBCCR0 CCIFG中断服务历程
入口:无
出口:无
------------------------------------------------------------------------------------------------------*/
#pragma vector=TIMERB0_VECTOR
__interrupt void IntTBCCR0(void)
{
}
/*------------------------------------------------------------------------------------------------------
功能:计时器B的TBI中断
入口:无
出口:无
------------------------------------------------------------------------------------------------------*/
#pragma vector=TIMERB1_VECTOR
__interrupt void IntTBI(void)
{
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -