MSP432笔记——TIM定时器中断

发布者:WiseSage123最新更新时间:2022-08-10 来源: csdn关键字:MSP432  TIM  定时器中断 手机看文章 扫描二维码
随时随地手机看文章

使用driverlib库函数

以TA3为例


前期配置

时钟源

信号源

电压等级

flash

    //Flash

    FlashCtl_setWaitState(FLASH_BANK0,1);

    FlashCtl_setWaitState(FLASH_BANK1,1);

    //PCM state

    PCM_setPowerState(PCM_AM_LDO_VCORE1);

    //CS configure

    CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_48);


配置定时器 Config

参数配置结构体 config

开始定时器 start

使能定时器中断 (清空标志位、打开定时器的中断)

    Timer_A_UpModeConfig Timer3_Config=

    {

     TIMER_A_CLOCKSOURCE_SMCLK,                   //48MHZ

     TIMER_A_CLOCKSOURCE_DIVIDER_48,              //48/48 = 1 MHZ

     1000-1,                                      //1KHZ

     TIMER_A_TAIE_INTERRUPT_ENABLE,

     TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE,

     TIMER_A_DO_CLEAR

    };

    Timer_A_configureUpMode(TIMER_A3_BASE,&Timer3_Config); //配置定时器


    Timer_A_startCounter(TIMER_A3_BASE,TIMER_A_UP_MODE); //开始计数


    Timer_A_clearInterruptFlag(TIMER_A3_BASE); //清空标志位

    Timer_A_enableInterrupt(TIMER_A3_BASE); //开启定时器中断


使能总中断

中断两个里边都要开启


    Interrupt_enableInterrupt(INT_TA3_0); //定时器中断


    Interrupt_enableSleepOnIsrExit();

    Interrupt_enableMaster(); // 总中断


中断服务函数 TA3_0_IRQHandler

void TA3_0_IRQHandler    (void)

{

    uint32_t status = Timer_A_getInterruptStatus(TIMER_A3_BASE);

    //Timer_A_clearInterruptFlag(status);

    //Timer_A_clearInterruptFlag(TIMER_A3_BASE);

    Timer_A_clearCaptureCompareInterrupt(TIMER_A3_BASE,TIMER_A_CAPTURECOMPARE_REGISTER_0);

    //必须清空CCR0寄存器的值,才能实现清空标志位,清零CCR0才有效

    

    // 自行指定

    GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0);


}

关键字:MSP432  TIM  定时器中断 引用地址:MSP432笔记——TIM定时器中断

上一篇:MSP432笔记——单路ADC采样
下一篇:MSP432笔记——按键中断

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved