找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1673|回复: 6
打印 上一主题 下一主题
收起左侧

求大神们详细的解析一下这句单片机源代码

[复制链接]
跳转到指定楼层
楼主
ID:370411 发表于 2018-7-12 18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神们详细的解析一下这句话:        while((a<50)&&(GPIO_KEY!=0xf0))         //检测按键松手检测
它是怎么运行这呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:284488 发表于 2018-7-12 20:47 | 只看该作者
就是检测按键输入在一段时间内是否放开,两个条件,小于50ms并且键值不等于0xf0,只要其中一个不满足就退出循环,之所以加一个(a<50) 是为了防止程序死在这里。
回复

使用道具 举报

板凳
ID:142059 发表于 2018-7-12 21:26 | 只看该作者
如果KEY按键==0xfe也就是按下的状态,且a<50,则一直在while这里原地运行,直到KEY!=或a>=50,才继续往下运行
回复

使用道具 举报

地板
ID:370700 发表于 2018-7-13 10:05 | 只看该作者
while()括号内的值为真,程序就会一直停在这里,就是等待按键松开,一般做项目不采用者用方法,太占资源。
a<50如果成立,同时GPIO_KEY!=0xf0如果成立,程序就一直卡在这里,执行不下去,等待松手,如果任何一个不成立,就跳出while。
回复

使用道具 举报

5#
ID:370777 发表于 2018-7-13 11:33 | 只看该作者
当 (a小于0) 且 (GPIO_KEY不等于0xf0) 时,此进程不继续执行;原地循环。
回复

使用道具 举报

6#
ID:370929 发表于 2018-7-13 15:19 | 只看该作者
a<50为了防止死循环,一单两者都不满足就退出。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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