完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
请教各位大神,我在用CY方案时,需要做一个按键的短按和长按功能,一直没成功,代码如下:
if (index == 0x00) // 按键按下 { f1_key_pressed = TRUE; Pageup_key_MS ++; } if (f1_key_pressed) { if (Pageup_key_MS >= 1000) { index = 0x0B; add_queue(index); Pageup_key_MS = 0; } if (Pageup_key_MS < 200) { index = 0x0C; add_queue(index); } } 不管是按键按一下松开还是长按,Pageup_key_MS总是只加1, 请问给位大神,怎样让按键按下时,Pageup_key_MS一直加? |
|
相关推荐
4个回答
|
|
|
|
|
|
你的判断按键的变量index和下面具体操作的index冲突了,按键按下Pageup_key_MS +1之后,直接就进入 if (Pageup_key_MS < 200)里面,然后 index = 0x0C;index的值就不是0了,长按和短按都进不了if (index == 0x00),必须松开重按才会进入,所以Pageup_key_MS不会连续加。把判断按键if (index == 0x00)换成if (xx == 0x00),变量换个名字应该就可以了。
|
|
|
|
谢谢!应该是我程序写错了,不能这么表达
|
|
|
|
yijin1989616 发表于 2017-5-27 11:34 谢谢,应该是我程序写错了,不知道你有没有做过按键短按长按这方面的,可否发给我参考下? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
238 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
629 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
552 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
552 浏览 0 评论
1074 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11764 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 06:45 , Processed in 0.585953 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号