打印

GD32F1x0 TIME2 向上计数中断问题

[复制链接]
2040|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
djh2000|  楼主 | 2015-3-25 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//TIME2初始化
    。。。
    /* TIMERS clock enable */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_TIMER2|RCC_APB1PERIPH_TIMER3,ENABLE);

    /* TIMER2  configuration */
    TIMER_DeInit(TIMER2);
    TIM_TimeBaseStructure.TIMER_Prescaler = 0;         
    TIM_TimeBaseStructure.TIMER_CounterMode = TIMER_COUNTER_UP;
    TIM_TimeBaseStructure.TIMER_Period = 65535;
    TIM_TimeBaseStructure.TIMER_ClockDivision = TIMER_CDIV_DIV1;
    TIMER_BaseInit(TIMER2,&TIM_TimeBaseStructure);

    /* Auto-reload preload enable */
    //TIMER_CARLPreloadConfig(TIMER2,DISABLE);
   
    /* Clear the UPDATE Interrupt flag an Enable the UPDATE Interrupt Request */
    TIMER_ClearIntBitState(TIMER2,TIMER_INT_UPDATE);
    TIMER_INTConfig(TIMER2,TIMER_INT_UPDATE,ENABLE);

    /* TIMER enable counter*/
    TIMER_Enable( TIMER2, ENABLE );
    。。。
//TIME2初始化结束



void TIM2_IRQHandler(void)
{
    if(TIMER_GetIntBitState(TIMER2,TIMER_INT_UPDATE)==ENABLE)
    {
        TIMER_Enable( TIMER2, DISABLE );
        TIMER_ClearIntBitState(TIMER2,TIMER_INT_UPDATE);
    }
}

上面配置好TIME2之后。为什么在TIME2计数满后没有停止计数?一直在循环计数.
沙发
yangqingqing| | 2015-3-26 10:57 | 只看该作者
请问楼主,你进行中断配置了吗?如下:
void NVIC_Configuration(void)
{
    NVIC_InitPara NVIC_InitStructure;

    NVIC_PRIGroup_Enable(NVIC_PRIGROUP_1);
    /* Enable the TIMER2 Interrupt */
    NVIC_InitStructure.NVIC_IRQ = TIMER2_IRQn;
    NVIC_InitStructure.NVIC_IRQPreemptPriority = 1;
    NVIC_InitStructure.NVIC_IRQSubPriority = 1;
    NVIC_InitStructure.NVIC_IRQEnable = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}

使用特权

评论回复
板凳
djh2000|  楼主 | 2015-3-26 14:00 | 只看该作者
THANKS!这个中断是没有配置。

使用特权

评论回复
地板
yangqingqing| | 2015-3-26 15:42 | 只看该作者
你不进行配置就进不了中断服务程序,必须要进行中断配置啊!

使用特权

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

本版积分规则

7

主题

20

帖子

0

粉丝