- #include "ti_msp_dl_config.h"
- int main(void)
- {
- SYSCFG_DL_init();
- NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);//使能定时器中断
- DL_SYSCTL_enableSleepOnExit();//当CPU从处理程序模式切换到线程模式时,在退出时启用休眠。通过启用,允许中断驱动的应用程序避免返回一个空的主程序。
- DL_TimerG_startCounter(TIMER_0_INST);//启动定时器0
- while (1) {
- __WFI();//等待中断
- }
- }
- void TIMER_0_INST_IRQHandler(void)
- {
- switch (DL_TimerG_getPendingInterrupt(TIMER_0_INST)) {
- case DL_TIMER_IIDX_ZERO:
- DL_GPIO_togglePins(GPIO_LEDS_PORT,
- (GPIO_LEDS_USER_LED_1_PIN));//LED翻转
- break;
- default:
- break;
- }
- }
很简单的一个例程,syscfg配置好定时500ms,周期性向下计数和归零事件后【syscfg的配置见上一个帖子】,在中断中翻转LED即可。值得注意的是,一定要手动配置启动定时器。
DL_TimerG_startCounter(TIMER_0_INST);//启动定时器0
|