触摸按键实验TPAD_Scan函数中,连续触发是怎么实现的

2019-08-13 20:39发布

今天在看触摸按键实验时,看不懂连续触发是怎么实现的,主要不懂keyen的作用

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
学霸君
1楼-- · 2019-08-14 05:38
如果mode=0则不支持连按,而Keyen是静态变量,也就是说函数调取结束后,Keyen的变量空间是不会被释放的,而要想按下有效的话,必须满足两个条件,一个是充电时间满足要求,一个是Keyen要等于0,一旦按下有效则keyen=3,也就是说如果mode变量不等于1(也就是不支持连按模式),按键触发后,keyen必须经满足松开按键并且扫描函数执行3次后才能再次触发。而如果mode=1(支持连按模式),每次调用函数都会对keyen清零,也就是只要满足充电时间就会在每次扫描时进行按键触发。
正点原子
2楼-- · 2019-08-14 00:45
 精彩回答 2  元偷偷看……
余一水
3楼-- · 2019-08-14 01:00
帮顶
allaqppq
4楼-- · 2019-08-14 05:07
帮顶                                          
924583269
5楼-- · 2019-08-14 07:34
学霸君 发表于 2017-10-5 15:32
如果mode=0则不支持连按,而Keyen是静态变量,也就是说函数调取结束后,Keyen的变量空间是不会被释放的,而 ...

请教下当mode=0时,TPAD按下,主函数循环一次后,TPAD_SCAN(0)函数运行一次,keyen值为2,此时若没有松手,再循环一次,keyen值为1,再循环一次为0。若此时还没有松手,keyen为0了,TPAD_SCAN(0)的值又为1了,这句函数if(TPAD_Scan(0))        {LED1=!LED1;        }应该要运行了,led应该要动作。那么led1应该是keyen每三次闪烁一下行
可是实际上,led1只是在按键后一直保持着亮。这是该怎么理解呢?
学霸君
6楼-- · 2019-08-14 13:08
 精彩回答 2  元偷偷看……

一周热门 更多>