请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

扫一扫,访问微社区

搜索
查看: 365|回复: 4

矩阵电路检测程序

[复制链接]

2

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2019-5-25 17:09:48 | 显示全部楼层 |阅读模式
大家好,在矩阵电路中有一段程序,视频没有讲解到,我不是很明白:
        while((a<50)&&(GPIO_KEY!=0xf0))         //检测按键松手检测时间;
        {
                delay(100);
                a++;
        }
}
为什么要用a这个条件来判断,主要作用是为了什么呢?
回复

使用道具 举报

4

主题

176

帖子

536

积分

高级会员

Rank: 4

积分
536
发表于 2019-5-26 22:30:03 | 显示全部楼层
这是一个超时退出条件
回复 支持 反对

使用道具 举报

2

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 2019-5-29 23:59:21 | 显示全部楼层
YXUN 发表于 2019-5-26 22:30
这是一个超时退出条件

如何理解,我是入门汉,麻烦解释一下,谢谢!
回复 支持 反对

使用道具 举报

4

主题

176

帖子

536

积分

高级会员

Rank: 4

积分
536
发表于 2019-5-30 09:48:22 | 显示全部楼层
david.hu.gd 发表于 2019-5-29 23:59
如何理解,我是入门汉,麻烦解释一下,谢谢!

检测按键输入在一段时间内是否放开,两个条件,小于50ms并且键值不等于0xf0,只要其中一个不满足就退出循环,之所以加一个(a<50) 是为了防止程序死在这里。
回复 支持 反对

使用道具 举报

3

主题

5

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2019-6-6 14:59:38 | 显示全部楼层
不是必须要用a的,只要上面定义的变量你这都可以用。这段代码大致意思是:循环检测a<50且GPIO_KEY不等于0xf0,delay(100)就是一个延时作用,a++就是循环自加。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|51开发板专区 STM32开发板专区 PLC工控专区 PLC学习机专区 ( 粤ICP备18101765号 )

GMT+8, 2019-9-21 13:38 , Processed in 0.135008 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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