david.hu.gd 发表于 2019-5-25 17:09:48

矩阵电路检测程序

大家好,在矩阵电路中有一段程序,视频没有讲解到,我不是很明白:
        while((a<50)&&(GPIO_KEY!=0xf0))       //检测按键松手检测时间;
        {
                delay(100);
                a++;
        }
}
为什么要用a这个条件来判断,主要作用是为了什么呢?

YXUN 发表于 2019-5-26 22:30:03

这是一个超时退出条件

david.hu.gd 发表于 2019-5-29 23:59:21

YXUN 发表于 2019-5-26 22:30
这是一个超时退出条件

如何理解,我是入门汉,麻烦解释一下,谢谢!

YXUN 发表于 2019-5-30 09:48:22

david.hu.gd 发表于 2019-5-29 23:59
如何理解,我是入门汉,麻烦解释一下,谢谢!

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

该死矩阵扫描 发表于 2019-6-6 14:59:38

不是必须要用a的,只要上面定义的变量你这都可以用。这段代码大致意思是:循环检测a<50且GPIO_KEY不等于0xf0,delay(100)就是一个延时作用,a++就是循环自加。
页: [1]
查看完整版本: 矩阵电路检测程序