请问这个函数里,delay_ms(20)这个延时函数的作用是什么?为什么要设置它?

voidScan_Key(void){display();if(SET==0){delay_ms(20);if(SET==0){displayFlag=~displayF... void Scan_Key(void)
{
display();
if(SET == 0)
{
delay_ms(20);
if(SET == 0)
{
displayFlag = ~displayFlag;
}
while(SET == 0);
}
展开
 我来答
江雪老师
2013-05-20
知道答主
回答量:24
采纳率:0%
帮助的人:23.3万
展开全部
这段代码因该是测试按键的吧,延时可能是为了防止按键抖动吧.或者是防止卡死的.
按键抖动的概念百科有:
http://baike.baidu.com/view/4997011.htm
亥凝思3q
2013-05-20 · TA获得超过313个赞
知道小有建树答主
回答量:400
采纳率:14%
帮助的人:173万
展开全部
消抖,金属按键按下去后,肯定会有抖动的,延时20ms后,避免芯片对因抖动引起的按键误判
追问
那为什么要延时20ms呢?延时10ms可以吗?这种延时是怎样计算的呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a4e3cce
2013-05-20 · TA获得超过102个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:110万
展开全部
消除误触发的影响,间隔一个时间再检测确保不是误触发
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式