硬汉嵌入式论坛

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

[有问必答] V5开发板的按键扫描-环形队列问题(新手)

[复制链接]

4

主题

19

回帖

31

积分

新手上路

积分
31
QQ
发表于 2015-6-24 18:04:45 | 显示全部楼层 |阅读模式
        各位大侠,我认为V5例程里的按键处理程序中的环形队例有一个小问题,因为读到键值时会在队尾存入键值,现在假设一直没有取键值,那么队首指针将不会移动,如果在这期间一直有按键操作,那么队尾会一直有新的键值被存入,如果正好增长到队首指针的位置,则取键值时会认为是空吗?如果超过队首指针一个位置,则只能取到一个键值,但实际是连续按了11下了...不知道我分板对不对,当然在实际工作中应该不会碰到这类情况,因为处理器的速度够快,不可能等我们按了十几下还没有取键值。我主要是从逻辑的角度分析的。谢谢解答!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2015-6-24 18:43:32 | 显示全部楼层
把FIFO设置的稍大些,完全没问题,手速没有那么快。
回复

使用道具 举报

4

主题

19

回帖

31

积分

新手上路

积分
31
QQ
 楼主| 发表于 2015-6-24 23:10:32 | 显示全部楼层
我有一种思路,当入队的尾指针检测到队列已满时,在存入新键值时把头指针的的地址向前移动,自动覆盖之前保存的键值勤,这样每次一定是取按键的最后十次键值。或者当检测到队已满时,丢弃新的键值,只保存前面的有效的键值~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 05:51 , Processed in 0.148224 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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