没有延时去抖的按键检测程序
时间:10-02
整理:3721RD
点击:
这种程序是我们老师给公司设计产品时用的按键检测程序,不用延时,而用标志位的方法,很稳定,只在第一次下降沿的时候使相应标志位为1
void keyscan()
{
if(s1&&s2)
key_push=0;
if(!s1&&!key_push)
{
key_push=1;
s1_push=1;
}
else
s1_push=0;
if(!s2&&!key_push)
{
key_push=1;
s2_push=1;
}
else
s2_push=0;
}
void keyscan()
{
if(s1&&s2)
key_push=0;
if(!s1&&!key_push)
{
key_push=1;
s1_push=1;
}
else
s1_push=0;
if(!s2&&!key_push)
{
key_push=1;
s2_push=1;
}
else
s2_push=0;
}
。
。
嗯,方法不错,挺好的!
不过我还是有些怀疑稳定性?
不去抖真的可以吗?
恩,我开始也有点怀疑,先是在开发板上实验了一下,没有异常情况,刚好我们做东西,我就用这种方法控制了7个键,也没出现问题,这种程序只在下降沿的时候使相应标志位为1,其他情况标志位都为0,你也可以实践一下
你确定这程序能跑起来? 写错了吧
表示看不懂,能详细地说一说吗?