大家好,请教一个输入捕获频繁误中断的问题

2019-08-09 16:56发布

我用的f103c8,48脚
在A1脚进行输入捕获,检测下降沿,tim2开启了cc2中断

结果奇怪的现象……
上电后,A1未做任何连接,可是只要手指,或信号输入导线接近(不用接触)A1或临近针脚时,就会频繁产生误中断。
有哪位高人见过这情况吗?麻烦指点下问题在哪呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
杏帘在望
2019-08-10 20:43
回复【3楼】正点原子:
---------------------------------
请教一下原子哥,void delay_ms(u16 nms)

if(OSRunning==TRUE)//如果 os 已经在跑了 

if(nms>=fac_ms)//延时的时间大于 ucos 的最少时间周期
{
OSTimeDly(nms/fac_ms);//ucos 延时
}
nms%=fac_ms;//ucos 已经无法提供这么小的延时了,采用普通方式延时
}
delay_us((u32)(nms*1000)); //普通方式延时
}



这段代码里面nms%=fac_ms;//ucos 这个语句是不是不能被执行啊,也就是说我怎么觉得
if(nms>=fac_ms)//延时的时间大于 ucos 的最少时间周期
{
OSTimeDly(nms/fac_ms);//ucos 延时
}这段代码会进入死循环,因为nms没有被赋值所以if语句应该一一直为真或者一直为假......................................

一周热门 更多>