硬汉嵌入式论坛

 找回密码
 立即注册
查看: 436|回复: 6
收起左侧

[技术讨论] 关于复合按键的问题

[复制链接]

7

主题

26

回帖

47

积分

新手上路

积分
47
发表于 2024-3-13 17:13:44 | 显示全部楼层 |阅读模式
使用复合按键进行按键的读取和处理,在读取过程中发现问题,使用独立按键程序时,FIFO会出现一个莫名其妙的QUICKTIME,经程序实测,不影响功能,且可以覆盖,使用复合按键时,程序FIFO出现空格,且不能被覆盖,在空格前,复合按键能够工作,过了空格区后,复合按键不能工作,但是单按键依然可以正常运行,求助各位大佬,为何使用复合按键后,我的FIFO区的写指针会直接跳过一些写入位,下面附上图示

key1.png key2.png key3.png key4.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-3-14 00:37:05 | 显示全部楼层
把FIFO缓冲弄小点,有必要断点单步调试下了,看看FIFO每次的更新情况
回复

使用道具 举报

38

主题

195

回帖

319

积分

高级会员

积分
319
发表于 2024-3-14 10:12:12 | 显示全部楼层
QUICKTIME是什么?没听懂
回复

使用道具 举报

7

主题

26

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-3-14 11:00:23 | 显示全部楼层
eric2013 发表于 2024-3-14 00:37
把FIFO缓冲弄小点,有必要断点单步调试下了,看看FIFO每次的更新情况

感谢大佬,找到问题所在了,我只给5个实体按键开了数组空间,还有两个实体键组成的复合键没有开数组空间,所以造成数组溢出,访问了一些莫名奇妙的数据出来
回复

使用道具 举报

7

主题

26

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-3-14 11:04:19 | 显示全部楼层
会飞的猪_2020 发表于 2024-3-14 10:12
QUICKTIME是什么?没听懂

QUICKTIME是我程序中设置的判断按键是否有重复按下的宏定义,当我检测到按键按下时,并不立刻把按键压入FIFO,而是等待一个QUICKTIME,在QUICKTIME时间内,如果有按键重复按下,则累加,最后看该按键时连按了几下,如果QUICKTIME内,没有按键重复按下,则输出该按键按了一次,把该键值压入FIFO,是我的一种按键实现方法
回复

使用道具 举报

38

主题

195

回帖

319

积分

高级会员

积分
319
发表于 2024-3-15 08:39:56 | 显示全部楼层
麦克斯韦Maxwell 发表于 2024-3-14 11:04
QUICKTIME是我程序中设置的判断按键是否有重复按下的宏定义,当我检测到按键按下时,并不立刻把按键压入F ...

你是想用这种方式去判断双击,三击,四击..n击吗?
回复

使用道具 举报

7

主题

26

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-3-15 11:17:46 | 显示全部楼层
会飞的猪_2020 发表于 2024-3-15 08:39
你是想用这种方式去判断双击,三击,四击..n击吗?

是的,加一个QUICKTIME判断是双击,三击,n击等等
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 18:41 , Processed in 0.337277 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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