普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 2404|回复: 4

矩阵电路检测程序

 关闭 [复制链接]

2

主题

3

帖子

29

积分

新手上路

Rank: 1

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

使用道具 举报

4

主题

156

帖子

516

积分

高级会员

Rank: 4

积分
516
发表于 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

主题

156

帖子

516

积分

高级会员

Rank: 4

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

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

使用道具 举报

2

主题

3

帖子

19

积分

新手上路

Rank: 1

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

使用道具 举报

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

本版积分规则

关闭

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

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-27 04:08 , Processed in 0.086080 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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