打印
[研电赛技术支持]

请问GD32的键盘按键,按下后,一直发送,是什么问题呀?

[复制链接]
2450|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
打了断点,发现那里代码执行后,就开始疯狂输出,不知道怎么修改,有没有大佬指点以下的,非常感谢。

使用特权

评论回复
沙发
虚幻的是灵魂|  楼主 | 2024-4-11 15:08 | 只看该作者
有没有人可以救一下我的???

使用特权

评论回复
板凳
虚幻的是灵魂|  楼主 | 2024-4-11 15:12 | 只看该作者
顶一下

使用特权

评论回复
地板
玄德| | 2024-4-11 16:12 | 只看该作者
本帖最后由 玄德 于 2024-4-11 17:29 编辑

1、必须检测到按键抬起,再发送。一般是加延时。
2、按键会有抖动,出现的信号不会是标准方波,而是类似于模拟信号的波形,每抖一次,程序就会发送一次。所以要有消抖措施。

使用特权

评论回复
评论
虚幻的是灵魂 2024-4-12 17:12 回复TA
@玄德 :感谢,已解决。原来他的代码有问题,改了下源码。 
玄德 2024-4-12 15:07 回复TA
@虚幻的是灵魂 :我不了解你说的文件。按你的情况,驱动文件似乎应当把消抖、延时这些工作都完成才对。 
虚幻的是灵魂 2024-4-12 14:41 回复TA
fop_handler.hid_itf_data_process(&hid_keyboard); 这个方法没啥用对矩阵键盘来说 
虚幻的是灵魂 2024-4-12 13:48 回复TA
我的是矩阵键盘,请问hid_keyboard_itf.c这个文件怎么修改呀? 
5
trucyw| | 2024-4-12 08:31 | 只看该作者
应该是去抖

使用特权

评论回复
6
海洋无限| | 2024-4-12 12:03 | 只看该作者
word_count 定义成static变量试下呢

使用特权

评论回复
7
Annie556| | 2024-5-16 16:12 | 只看该作者
可能是你的程序没取消呗

使用特权

评论回复
8
Betty996| | 2024-5-16 17:18 | 只看该作者
你是不是没清除你的缓冲区啊

使用特权

评论回复
9
Carina卡| | 2024-5-16 18:21 | 只看该作者
正常的,USB是一直需要发数据的,正常是发/0好像,你要发数据就发正常数据

使用特权

评论回复
10
Charlotte夏| | 2024-5-16 19:25 | 只看该作者
你抓包看看,USB数据都发的啥

使用特权

评论回复
11
Alina艾| | 2024-5-16 21:35 | 只看该作者
按键抖动是指在按下或释放按键时,由于机械性能等原因,按键会产生短暂的不稳定信号。这可能导致按键被误认为是一直按下的状态。为了解决这个问题,可以在软件中添加按键去抖动的处理,例如通过软件延时或使用硬件去抖动电路

使用特权

评论回复
12
Emily999| | 2024-5-16 22:42 | 只看该作者
在程序中可能存在逻辑错误,导致按键按下后一直发送信号。这可能是由于按键状态检测的条件判断错误或循环中的逻辑错误等原因引起的。需要仔细检查程序逻辑,确保按键状态的检测和处理正确

使用特权

评论回复
13
Betty1299| | 2024-5-17 08:27 | 只看该作者
按键的一直发送信号也可能是由于外部硬件问题引起的

使用特权

评论回复
14
Candic12e| | 2024-5-17 09:55 | 只看该作者
如果按键的接触不良、按键线路短路或接地等问题都可能导致按键一直发送信号。需要检查按键的硬件连接和接触情况,确保按键正常工作

使用特权

评论回复
15
alxd| | 2024-5-17 11:23 | 只看该作者
USB部分的程序你也要看看,可能是这方面导致的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

115

帖子

1

粉丝