紧急问题,小白求助,各位大神帮帮忙啊

2019-08-18 20:04发布

代码如下
while(1)
{if(~GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2))
        {
    TIM3_Int_Init(1999,7199);
        }
else if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)&&(a==1))
{TIM_ITConfig(TIM3, TIM_IT_Update ,DISABLE);
delay_ms(2000);
GPIO_ResetBits(GPIOC,GPIO_Pin_3);        
LED1=1;
LED0=1;


}
}



我想要的结果是,当pc2输入低电平是执行时间中断,然后当pc2为高电平并且a==1时,关闭时间中断。运行出来的结果是直接开始执行时间中断了,我一开始明明给pc2口子输入的高电平。求各位大神帮帮忙
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
vince163
1楼-- · 2019-08-19 00:42
so 发表于 2017-5-19 12:54
TIM3_Int_Init(1999,7199);不应该放在这里啊?你参考一下原子哥的例程

那应该是放在主函数里吗
so
2楼-- · 2019-08-19 02:29
 精彩回答 2  元偷偷看……
kmmmko
3楼-- · 2019-08-19 07:19
你看一下你的 TIM3_Int_Init() 这个初始化函数,里面你在使能定时器更新中断之前,一定要先清除一下更新中断标志位,不然你使能了更新中断后就会立即进入一次中断。

一周热门 更多>