CCS-MSPM0G3507-2-定时器中断
前言
这一部分我们来讲如何封装定时器中断
配置定时器中断
打开这个界面
1.首先点击这里添加一个定时器
2.然后设置定时器中断的时间
可以看出软件自动把频率 和最大最小定时时间给计算出
如果想要更长的定时时间,那就把分配系数增大
3.设置时间
第一个选择持续计数,要不然执行一次就满了
修改第二个代表自己想定时的时间
第三个是系统计算出的实际定时时间
第四个是使能,要勾选上
4.开启中断
选择0事件,然后中断优先级默认
5.选择定时器
选择个就好
到此我们已经配置好一个100ms的定时器
根据图形化配置的结果,我们自己在.h重新定义
当下程序为1S的LED闪烁
tim.c
#include "tim.h"
#include "led.h"
void TIM1_init(void)
{NVIC_ClearPendingIRQ(TIM_NVIC);NVIC_EnableIRQ(TIM_NVIC);
}void tim_handle()
{static uint8_t i = 0;i++;if (i % 10 == 0)LED_TOGGLE();
}void TIMA0_IRQHandler(void)
{switch (DL_TimerG_getPendingInterrupt(timn)){case DL_TIMER_IIDX_ZERO:tim_handle();break;}
}
tim.h
#ifndef TIM_H
#define TIM_H#include "ti_msp_dl_config.h"#define TIM_NVIC TIMA0_INT_IRQn
#define timn TIMA0
void TIM1_init(void);
void tim_handle();#endif // TIM_H