ST米朗 发表于 2015-5-28 07:47:30

STM32 TIM2的打开和关闭

最近用STM32F103打开了定时器2 开定时器中断,   开启PA11的中断,   在PA11的中断里把定时器2关掉,
void EXTI15_10_IRQHandler(void)
{
       
    if (EXTI_GetITStatus(EXTI_Line11) != RESET)
    {
      EXTI_ClearITPendingBit(EXTI_Line11); //清除标志

                dis_time=TIM2_count;
                GPIO_ResetBits(GPIOB, GPIO_Pin_0);
//                RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,DISABLE);               
//                TIM_Cmd(TIM2,DISABLE);                                           //关定时器
//                TIM2->CR1=0x00;                                                 //关闭定时器
                TIM2_count=0;                                                        //完成一次后计数清零               
                EXTI_11_flag=1;                                                       

    }

}


不关定时器2程序正常运行,关闭就出错.

定时器如何关闭呢?

你好我好大家好! 发表于 2015-5-28 08:18:42

帮顶            

为什么是EEFOCUS小白 发表于 2015-5-28 08:18:53

        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);                        /* 时钟使能 */
        TIM_Cmd(TIM2,DISABLE);

ts2000 发表于 2015-5-28 08:25:24

TIM_Cmd(TIM2,DISABLE);                                           //关定时器

ST米朗 发表于 2015-5-29 14:21:22

ts2000 发表于 2015-5-28 08:25
TIM_Cmd(TIM2,DISABLE);                                           //关定时器

这个不行,我在上面说过了,一执行就错误

ST米朗 发表于 2015-5-29 14:21:45

为什么是EEFOCUS小白 发表于 2015-5-28 08:18
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE) ...

你试过吗

风子 发表于 2015-5-29 14:50:05

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,DISABLE);               
         TIM_Cmd(TIM2,DISABLE);                                           //关定时器
这两句话写反了,,,你先把时钟关了后面的操作就起不了作用了,,,

anobodykey 发表于 2015-5-29 15:26:10

楼上正解

creep 发表于 2015-5-29 15:47:13

直接TIM_Cmd(TIM2,DISABLE);      程序会出什么错误?

露兰芬芳加油 发表于 2015-5-29 16:12:33

顶。。。。。。。。。
页: [1] 2
查看完整版本: STM32 TIM2的打开和关闭