CCS配置MSPM0G3507(二) 通用定时器的基本功能

一.syscfg配置

(1)Basic Config

1.Timer Profiles 选择Custom(自定义)

2.时钟源选择BUSCLK

3.时钟分频(Timer Clock Dvider) 设置为一分频

4.分频系数(Timer Clock Prescaler) 设置为256,软件会自动算出最小可设的周期与最大周期。

5.选择向下计数

6.Timer Mode 选为 Periodic Down Counting(周期下降计数)

7.自己设置计时周期(要满足可设的范围)

8.若勾选Start Timer,则生成的程序会自动开始计数。否则要在程序中自己开启。

(2).Interrupt Config

1.使能中断为Zero event,因为是向下计数,记到0了则触发中断

(3).可在 Timer Peripheral  处选择使用哪个定时器

二.代码

1.初始化

注意:这两个函数是为了降低单片机的功耗,使其在主函数运行中是睡眠模式,当被中断信号唤醒才去执行中断内的处理操作,执行完后又进入睡眠模式等待中断信号。

DL_SYSCTL_enableSleepOnExit();
...
...
...

    while (1) 
    {
        __WFI();
    }
int main(void)
{
    SYSCFG_DL_init();

    NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);      //使能中断
    DL_SYSCTL_enableSleepOnExit();

    DL_TimerG_startCounter(TIMER_0_INST);       //开启计数

    while (1) {
        __WFI();
    }
}

2.编写定时器中断处理函数

1.判断中断事件,这里关注Zero Event事件

//定时器中断服务函数
void TIMER_0_INST_IRQHandler(void)
{
    switch (DL_TimerG_getPendingInterrupt(TIMER_0_INST)) {
        //关注Zero Event事件
        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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值