MSPM0L1306小练-定时器翻转LED

[复制链接]
885|0
 楼主| xyz549040622 发表于 2024-4-28 16:39 | 显示全部楼层 |阅读模式
  1. #include "ti_msp_dl_config.h"

  2. int main(void)
  3. {
  4.     SYSCFG_DL_init();

  5.     NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);//使能定时器中断
  6.     DL_SYSCTL_enableSleepOnExit();//当CPU从处理程序模式切换到线程模式时,在退出时启用休眠。通过启用,允许中断驱动的应用程序避免返回一个空的主程序。

  7.     DL_TimerG_startCounter(TIMER_0_INST);//启动定时器0

  8.     while (1) {
  9.         __WFI();//等待中断
  10.     }
  11. }

  12. void TIMER_0_INST_IRQHandler(void)
  13. {
  14.     switch (DL_TimerG_getPendingInterrupt(TIMER_0_INST)) {
  15.         case DL_TIMER_IIDX_ZERO:
  16.             DL_GPIO_togglePins(GPIO_LEDS_PORT,
  17.                 (GPIO_LEDS_USER_LED_1_PIN));//LED翻转
  18.             break;
  19.         default:
  20.             break;
  21.     }
  22. }
很简单的一个例程,syscfg配置好定时500ms,周期性向下计数和归零事件后【syscfg的配置见上一个帖子】,在中断中翻转LED即可。值得注意的是,一定要手动配置启动定时器。
DL_TimerG_startCounter(TIMER_0_INST);//启动定时器0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2841

主题

19330

帖子

110

粉丝
快速回复 在线客服 返回列表 返回顶部