进程有哪些状态?什么是进程的可中断等待状态

发布网友

我来回答

1个回答

热心网友

你的困惑根源在于对按键按下/抬起瞬间的状态认识不足。事实上,在按键按下/抬起瞬间,按键端口上会有一个持续抖动的电平(类似于不规则锯齿波,你可以上网查找一下),因此在一段时间之内P2.6上采集的电平将是不断变化的0-1-0序列。你所增加的for(;;)只判断一种电平,所以也并不能起到去抖的作用。一般较通用的按键处理流程是:当INT0#检测到跳变沿中断时,置一个标志,关闭EX0中断使能;主循环中凭借此标志延时20~100ms去抖(说白了就是避过按键电平不稳定的这段时间),然后重新采集P2.6状态,仍旧是低电平才判定为有效按键变化。对于连接线较长或者易受干扰的场合,按键处理应增加至少一阶的数字滤波。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com