找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1126|回复: 6
收起左侧

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

[复制链接]
ID:370411 发表于 2018-7-12 18:11 | 显示全部楼层 |阅读模式
求大神们详细的解析一下这句话:        while((a<50)&&(GPIO_KEY!=0xf0))         //检测按键松手检测
它是怎么运行这呢?
回复

使用道具 举报

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。
回复

使用道具 举报

ID:370777 发表于 2018-7-13 11:33 | 显示全部楼层
当 (a小于0) 且 (GPIO_KEY不等于0xf0) 时,此进程不继续执行;原地循环。
回复

使用道具 举报

ID:370929 发表于 2018-7-13 15:19 | 显示全部楼层
a<50为了防止死循环,一单两者都不满足就退出。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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