标题: 关于msp430定时器中断的一些理解 [打印本页]

作者: hanhanhanpipipi    时间: 2023-7-22 20:03
标题: 关于msp430定时器中断的一些理解
TIMER_A_STOP_MODETIMER_A_UP_MODE            //增计数模式    计数到CCR0,置0重计
TIMER_A_CONTINUOUS_MODE       //连续计数模式     连续计数,计数到0FFFFh之后从0开始重新计数,无法更改频率
TIMER_A_UPDOWN_MODE        //增减计数模式   0-ccr-0定时器中断分为TAIE中断与CCIFG0中断:TAIE中断是计数值到达CCR0(或者CCR1)时会产生中断,CCIFG0中断是定时器溢出时产生中断(在归0的那瞬间)。其分别对应的中断服务函数为:
#pragma vector=TIMER0_A0_VECTOR__interruptvoid TIMER0_A0_ISR (void)
{    GPIO_toggleOutputOnPin(GPIO_PORT_P4, GPIO_PIN1);}#pragma vector=TIMER0_A1_VECTOR__interruptvoid TIMER0_A1_ISR (void){    switch(TA0IV)    {        case TA0IV_NONE:            break;        case TA0IV_TACCR1:            break;        case TA0IV_TACCR2:            break;        case TA0IV_TACCR3:            break;        case TA0IV_TACCR4:            break;        case TA0IV_5:            break;        case TA0IV_6:            break;        case TA0IV_TAIFG:            GPIO_toggleOutputOnPin(GPIO_PORT_P4, GPIO_PIN1);//此为等于CCR0时            break;        default:            break;    }}

Timer_A_setCompareValue(TIMER_A0_BASE,TIMER_A_CAPTURECOMPARE_REGISTER_1,6249);//更改CCR1的值,但在CCR1产生中断其频率只与CCR0有关,更改CCR0无法改变其频率周期  

Timer_A_enableCaptureCompareInterrupt(TIMER_A0_BASE,TIMER_A_CAPTURECOMPARE_REGISTER_1);//使能CCR1中断定时器的初始化函数:
void Timer_A_Init(void){    Timer_A_initUpModeParam htim = {0};    htim.clockSource = TIMER_A_CLOCKSOURCE_SMCLK;   //时钟源选为SMCLK = 1048576 HZ   
htim.clockSourceDivider = TIMER_A_CLOCKSOURCE_DIVIDER_32;    //32分频    32768   
htim.timerPeriod = 16384 - 1;                                   //计数值设为16374(32768/2=16374),定时0.5s   
htim.timerInterruptEnable_TAIE = TIMER_A_TAIE_INTERRUPT_ENABLE; //使能TALE中断   
htim.captureCompareInterruptEnable_CCR0_CCIE = TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE;   
htim.timerClear = TIMER_A_DO_CLEAR; //把定时器的定时计数器,分频计数器的计数值清零   
htim.startTimer = true; //初始化后立即启动定时器    //配置定时器A为增计数模式   
Timer_A_initUpMode(TIMER_A0_BASE, &htim);}

作者: ullx20    时间: 2023-7-26 11:24
很清晰的讲解
作者: Torie    时间: 2024-1-2 13:21
要是代码排版好一点就更完美了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1