找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7430|回复: 8
收起左侧

单片机独立按键的程序问题,while(!k)是什么意思

[复制链接]
ID:524891 发表于 2019-5-7 18:12 来自手机 | 显示全部楼层 |阅读模式
这个while(!k)是什么意思额,为什么我松开k为0!k为1了,他状态还是保持原来的,如果我把while去掉他要一直按着才能保持原来的状态。不是松开了就不进入k等于0这个语句了吗,保持原来状态了吗,那为什么去掉就不同原来状态了。
095629wqll5s5lizo5vgvj.png
回复

使用道具 举报

ID:213173 发表于 2019-5-8 07:30 | 显示全部楼层
软件是基于硬件环境运行的,这个按键程序是在按下后IO口为0,松手后为1的条件下才能正常工作的。while(!k)括号内容是判断K为1是假,跳出死循环。
回复

使用道具 举报

ID:516612 发表于 2021-1-22 20:21 | 显示全部楼层
Snipaste_2021-01-22_20-15-20.jpg
我学的时候也对这里的while不能理解,虽然现在大佬儿肯定早就理解了,为了方便以后和我一样的新手,我贴一下我写的方便以后的新手学习。
回复

使用道具 举报

ID:752974 发表于 2021-1-23 09:14 | 显示全部楼层
这个while(!k)是等待按键释放,如果不放手一直在死等。这是教课书里的东西,效率低,看看这http://www.51hei.com/bbs/dpj-201799-1.html
回复

使用道具 举报

ID:880092 发表于 2021-1-24 19:34 | 显示全部楼层
当K1取反,是等待按键释放,如果不放手一直在死等。
回复

使用道具 举报

ID:517951 发表于 2021-1-25 09:07 | 显示全部楼层
while(!k) 就是K=0的时候一直循环,直到k=1时候推出循环。
回复

使用道具 举报

ID:722618 发表于 2021-1-25 11:27 | 显示全部楼层
这个while(!k)是等待按键释放,就是判断按键是否释放。
回复

使用道具 举报

ID:847443 发表于 2021-1-25 16:30 | 显示全部楼层
就是检测按键是否松开的意思。
回复

使用道具 举报

ID:879794 发表于 2021-1-25 21:54 | 显示全部楼层
监测按键是否松开,松手后为1的条件下才能正常工作的。while(!k)括号内容是判断K为1是假,跳出死循环。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表