当前位置:回答三>百科问答>关于单片机语句While(!key1)的疑问

关于单片机语句While(!key1)的疑问

2024-06-11 08:16:37 编辑:join 浏览量:611

关于单片机语句While(!key1)的疑问

while(!key1)一般是要放在if(!key1)的花括号内的,也就是:

if(!key1) //如果key1被按下

{

DelayMs(5); // 软件延时进行按键消抖

while(!key1); // 等待按键释放

fun(); // 要执行的函数

}

分析一下,单片机C语言和软件C,C++不是完全一样的,单片机C要结合硬件电路看的。

你的叙述不太清晰,这里我把软硬件分开表述:用button1表示硬件按键,button1一端接单片机IO,另一端接地,button1所连接到的IO被定义为key1。button1不工作时IO为高电平,一旦button1被按下,对应的IO就被拉低,所以key1取非代表的是按键被按下。当按键松开了key1就恢复高电平了,所以不会一直执行while(!key1),除非你一直按着它。就这么着了。

标签:单片机,While,key1

版权声明:文章由 回答三 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.huidasan.com/answer/120977.html
热门文章