电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1605|回复: 1
收起左侧

求助 单片机独立按键问题

[复制链接]

579

主题

911

帖子

5007

积分

四级会员

Rank: 4

积分
5007
发表于 2023-4-4 14:57:04 | 显示全部楼层 |阅读模式
程序部分。
if(k1==0)
{
delay(1000)
  if(k1==0)
   {
led=~led
}
while(!k1)
}
大体部分是这样子,我不明白,while(~k1)说是检测是否松开按键,但是这么一句语句有什么作用?独立按键按下时候,判断条件成立,进入第一个和第二个循环,按下之后延时一会就点亮/熄灭LED,那把判断是否松开按键放在取反以后有何意义?有个朋友说,要把while放在取反语句之前,第二个if里面。但是我想不通,这样的话,当按下按键,k1=0,执行两个if语句,while值为真,重复执行空语句。但是当松开按键以后,那就是k1翻转变为1,那就不满足if语句,也就没法进入循环使led翻转了啊。求指点。。。
回复

使用道具 举报

10

主题

905

帖子

812

积分

二级会员

Rank: 2

积分
812
发表于 2023-4-4 14:57:56 | 显示全部楼层
这是朋友给指导的,while放在if里面,

求助    单片机独立按键问题-1.jpg

求助    单片机独立按键问题-2.jpg
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表