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程序正常运行,关闭就出错.
定时器如何关闭呢?
帮顶 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /* 时钟使能 */
TIM_Cmd(TIM2,DISABLE); TIM_Cmd(TIM2,DISABLE); //关定时器 ts2000 发表于 2015-5-28 08:25
TIM_Cmd(TIM2,DISABLE); //关定时器
这个不行,我在上面说过了,一执行就错误 为什么是EEFOCUS小白 发表于 2015-5-28 08:18
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE) ...
你试过吗
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,DISABLE);
TIM_Cmd(TIM2,DISABLE); //关定时器
这两句话写反了,,,你先把时钟关了后面的操作就起不了作用了,,, 楼上正解 直接TIM_Cmd(TIM2,DISABLE); 程序会出什么错误? 顶。。。。。。。。。
页:
[1]
2