GD32F1x0 TIME2 向上计数中断问题

[复制链接]
2241|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

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