MSPM0G3507的学习记录(个人记录3)

《定时器学习》

目的:参加电赛,学习记录,创作者的视角来学习。

使用芯片:LP-MSPM0G3507

例程2:timx_timer_mode_periodic_sleep

定时器的基本工作原理:本质上是计数。

有加法计数,减法计数。通过标志上升脉冲或下降脉冲进行计数。

定时器有: TimerGgeneral通用计时器), TimerAadvance高级计时器), TimerX(通用计时器)

在syscfg工具里对TIMER配置

Name:名称设置:

Quick ProfilesTimer Profiles:系统提供的预设。

若有特殊要求选择custom。

基础设置:Basic Configuration

Clock Configuration配置时钟

Timer Clock Source(计数所用脉冲信号的来源设置)一般都选用BUSCLK.

Timer Clock Divider分频设置

Timer Clock Prescaler进一步分频。

经过以上设置,最终所用来计数的时钟频率。

高级配置:Advanced Configuration(暂时没用到)

使能定时器中断配置:Interrupts Configuration

 在开发的过程中能够快速配置时钟,编写中断。

#include "ti_msp_dl_config.h"


int main(void)
{
    SYSCFG_DL_init();

    NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);//使能定时器中断 NVIC_EnableIRQ不是所学芯片的特殊外设。
    DL_SYSCTL_enableSleepOnExit();//退出时启用睡眠模式

    DL_TimerG_startCounter(TIMER_0_INST);// DL_TimerG_startCounter启动开始计数
    //括号内是启动具体的那一个定时器

    while (1) {
        __WFI();//实际上是Wait forinterrupt(等待中断)。从run状态进入sleep状态。
    }
}

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 | GPIO_LEDS_USER_TEST_PIN);//翻转电平
            break;
        default:
            break;
    }
}

在所给的例程代码过程中几个注意点:

NVIC_EnableIRQ()使能中断函数

DL_TimerG_startCounter()开始计数。

为达到低功耗目的:使用到语句

DL_SYSCTL_enableSleepOnExit();当中断返回主函数是,cpu 进入sleep状态

退出时启用睡眠。

CPU 从处理程序模式移动到线程模式时,在退出时启用睡眠。通过启用,允许中断驱动的应用程序避免返回到空的主应用程序。

在编写中断函数时如果使用到多个中断,遵循以下格式判断运行那一个:

自己写一个1秒翻转的代码

#include "ti_msp_dl_config.h"

int main(void)
{
    SYSCFG_DL_init();
     NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);
     DL_TimerA_startCounter(TIMER_0_INST);

    while (1) {
    }
}

void TIMER_0_INST_IRQHandler(void)
{
    DL_GPIO_togglePins(GPIO_LED_PORT, GPIO_LED_PIN_LED_PIN );    
}

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值