用stm32 模拟了一个usb接口的键盘,参考的st usb库的例子,
发现发送的时候,pc上接收到一次后会不断的发送,
应该是好像在不断的发送,就像按键一直按着没有松开,但实际上我只发送了一次,
是什么原因呢?是否键盘要做什么特别处理?
实际上用st 官方的例子 那个custom hid 他也有类似的毛病,那个ad检查可变电阻电压的例子,本来只有在电压变化>4的时候才会发送的,但用busbound可以看到会不断发送的。
似乎应该这样,但是哪里有这个依据呢?
发送0,是指 00 Reserved (no event indicated)? 这样吗?
我留了线索了,不是做广告--是那个圈圈00 的例子帮了我。
我再理一下我的实现过程。
1)被要求在hid 通信的基础上实现键盘方式的打印。
2)参考了st的例子,没法下手,那个dfu的usb例子里有alternative 配置的,尝试失败。
3)21ic发帖,知道要做的设备叫 “usb复合设备”,
4)网上找了些帖子,圈圈00的一个帖子提到他有,鼠标键盘的复合设备例子。
5)想起早些时候就下载过”圈圈00跟我学usb“的许多例子(一直放着没看)。
6)看了usb hid的许多文档,大概明白了那2个程序修改部分的含义。
7)修改调试成功。
在网上一个edn的圈圈的帖子上发现这种方式叫
是不是只发了按键按下的消息
没有发送按键抬起的消息