Cypress技术论坛
直播中

乔银栓

7年用户 249经验值
私信 关注
[问答]

使用CapSense按钮函数会被多次执行该怎么办?

嗨,我正在和CassSeNand一起工作,我需要CAPSENSE按钮工作就像普通的按钮开关一样。
我使用按钮发送命令到我的MP3播放器。但是如果我把手指放在按钮上,这个函数会被多次执行,并且连续发送UART数据,我只需要发送一次。
我正在上传我的工作空间包。请告诉我这个问题的解决方案
第十六J.Cyrkk.Access 01.Zip
390.2 K

回帖(6)

王琳

2019-10-9 13:33:32
最简单的是记住按钮的状态,只有当状态改变时才反应。当按钮被按下一段较长的时间(计数器将有助于检测)时,你可以做出不同的反应,如快进、静音或其他。
鲍勃
举报

乔银栓

2019-10-9 13:42:48
引用: ncmza 发表于 2019-10-9 16:44
最简单的是记住按钮的状态,只有当状态改变时才反应。当按钮被按下一段较长的时间(计数器将有助于检测)时,你可以做出不同的反应,如快进、静音或其他。
鲍勃

哦。好的,鲍伯。谢谢。我会试试看。
举报

乔银栓

2019-10-9 13:56:39
引用: ncmza 发表于 2019-10-9 16:44
最简单的是记住按钮的状态,只有当状态改变时才反应。当按钮被按下一段较长的时间(计数器将有助于检测)时,你可以做出不同的反应,如快进、静音或其他。
鲍勃

鲍伯,你能详细说明如何保存按钮状态吗?我试过了,但它还没有执行一次。我尝试改变去弹出设置的CasSoIP太…仍然不工作
举报

王琳

2019-10-9 14:01:45
这与卡彭斯的争吵无关。您的代码清楚地显示“只要按下按钮,执行PREVE()函数”
你必须定义一个
静态uTIN钮钮压=假;
代码中
如果(CopsSeNeCuffistWistGeAc活性(CAPENSESEXButo11BTTN)和AMP;ButoNoPress){PREVE();LCDApReltScript(“on”);
ButoTyPosik=真;}
否则{
如果(ButoNoPress)LCDApReltStand(“OFF”);
ButoNoPosikPress=false;}
也许你必须定义假和真
定义假0
定义真实!错误的
鲍勃
举报

更多回帖

发帖
×
20
完善资料,
赚取积分