void timer_init(void){
TA0CCTL0 = CCIE; // CCR0 interrupt enabled
TA0CCR0 = 3200;
TA0CTL = TASSEL_1 + MC_1 + TACLR; // ACLK, upmode, clear TAR
}
void Timer_Init(void){
//定时器TIMER0初始化
Timer_A_initUpModeParam initContParam0 = {0};
initContParam0.captureCompareInterruptEnable_CCR0_CCIE=TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE ;//CCR0中断使能
initContParam0.clockSource = TIMER_A_CLOCKSOURCE_ACLK; //时钟源位ACLK 32KHZ
initContParam0.clockSourceDivider = TIMER_A_CLOCKSOURCE_DIVIDER_1;
initContParam0.startTimer = false;
initContParam0.timerClear = TIMER_A_DO_CLEAR; // 清除定时器
initContParam0.timerInterruptEnable_TAIE = TIMER_A_TAIE_INTERRUPT_DISABLE; //关闭定时器A的溢出中断
initContParam0.timerPeriod = 3200; //计数值100mS
Timer_A_initUpMode(TIMER_A0_BASE, &initContParam0);
Timer_A_startCounter(TIMER_A0_BASE,
TIMER_A_CONTINUOUS_MODE
);//A0开始计数
}
两个函数都是定时 100ms,但是程序运行结果不同。而且当我在打开定时器溢出中断的时候两个程序结构会相同,但程序就会不断开始重新执行执行。