打印

GD定时器程序分享

[复制链接]
593|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2020-11-10 14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定时器需要一个时钟输入,在每个时钟触发时,做如下操作
因此,实际配置中需要配置如下几步

时钟源和分频系数等时钟参数
预置值和目标值
计数方式,增长和减少
循环方式,单次还是循环触发
VOID TIMER2_IRQHandler(VOID)
{
    if(TIMER_GetIntBitState(TIMER2,TIMER_INT_UPDATE) != RESET)
    {   
        /* 定时器中断中,第一步必须先清除定时器中断标记,防止中断反复进入 */
        TIMER_ClearIntBitState(TIMER2,TIMER_INT_UPDATE);
        if (gTimerLedFlag != 0)
        {
            DRV_LED_On(DRV_LED1);
            gTimerLedFlag = 0;
            return;
        }
        DRV_LED_Off(DRV_LED1);
        gTimerLedFlag++;
    }
   
}

VOID DRV_TIMER_Timer2Init(VOID)
{
    TIMER_BaseInitPara TIMER_BaseInitParaStructure;
    NVIC_InitPara NVIC_InitStructure;

    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_TIMER2,ENABLE);
       
    TIMER_DeInit(TIMER2);
    TIMER_BaseInitParaStructure.TIMER_Prescaler = 10800-1; /* 10KHz */
    TIMER_BaseInitParaStructure.TIMER_CounterMode = TIMER_COUNTER_UP;
    TIMER_BaseInitParaStructure.TIMER_Period = 10000-1; /* 10000*10KHz = 1s */
    TIMER_BaseInitParaStructure.TIMER_ClockDivision = TIMER_CDIV_DIV1;
    TIMER_BaseInit(TIMER2,&TIMER_BaseInitParaStructure);

    TIMER_INTConfig(TIMER2, TIMER_INT_UPDATE, ENABLE);
    NVIC_InitStructure.NVIC_IRQ = TIMER2_IRQn;   
    NVIC_InitStructure.NVIC_IRQPreemptPriority = 0;
    NVIC_InitStructure.NVIC_IRQSubPriority = 0;      
    NVIC_InitStructure.NVIC_IRQEnable = ENABLE;        
    NVIC_Init(&NVIC_InitStructure);
   
    TIMER_SinglePulseMode(TIMER2, TIMER_SP_MODE_REPETITIVE);
    TIMER_Enable(TIMER2,ENABLE);
}

使用特权

评论回复
沙发
zeshoufx| | 2020-11-10 17:26 | 只看该作者
谢谢分享【定时器程序分享】

使用特权

评论回复
板凳
wowu| | 2020-12-4 10:10 | 只看该作者
这是把定时器配置成什么模式了啊

使用特权

评论回复
地板
xiaoqizi| | 2020-12-4 11:16 | 只看该作者
允许运行过程中更改时钟配置吗

使用特权

评论回复
5
木木guainv| | 2020-12-4 11:18 | 只看该作者
预期值和目标值一致吗

使用特权

评论回复
6
磨砂| | 2020-12-4 11:22 | 只看该作者
注释很详细 容易读懂

使用特权

评论回复
7
晓伍| | 2020-12-4 11:23 | 只看该作者
最基础的应用方式的代码 很好

使用特权

评论回复
8
zjsx8192| | 2020-12-23 17:25 | 只看该作者
这个是什么版本的firmware?

使用特权

评论回复
9
1394956993| | 2020-12-29 11:30 | 只看该作者
谢谢分享【定时器程序分享】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

976

主题

3973

帖子

10

粉丝