stm32 hid 键盘描述】的更多相关文章

/* USB Standard Device Descriptor */ const uint8_t Joystick_DeviceDescriptor[JOYSTICK_SIZ_DEVICE_DESC] = { 0x12, /*bLength */ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ 0x00, /*bcdUSB */ 0x02, 0x00, /*bDeviceClass*/ 0x00, /*bDeviceSubClass*/ 0x0…
1,报告描述符概述    1.1) 报表描述符        报表描述符和USB的其他描述符是不一样的,它不是一个简单的表格,报表描述符是USB所有描述符中最复杂的.报表描述符非常复杂而有弹性,因为它需要处理各种用途的设备.报表的数据必须以简洁的格式来储存,这样才不会浪费设备内的储存空间以及数据传输时的总线时间.实际上可以这样理解,报表内容的简洁,是通过报表描述符全面的.复杂的数据描述实现的.报表描述符必须先描述数据的大小与内容.报表描述符的内容与大小因设备的不同而不同,在进行报表传输之前,主机…
HID键盘程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2. 程序解析 此程序使用的是端口1中断,进行数据的传输. 此程序的用户核心部分为periph.c文件中的“初始化函数TD_init()”和“循环执行函数TD_pull()”. 由图 1可知,开发板上的两个按键S1.S2和两个LED灯D4.D5都是接在端口PE上的. 图 1 开发板原理图 TD_ini…
目录: 第1部分:参照“正点原子USB虚拟串口工程移植步骤”移植ST的USB HID工程(失败了): 第2部分:在1的基础上,替换USB HID初始化代码为ST 例程中的代码,编译后根据报错调试(失败了): 第3部分:直接移植ST的USB HID工程,根据报错调试代码(成功了).       小孙想要总结这一年来学到的关于stm32的USB相关知识,但又不知道怎么总结,于是决定 从头开始调试固件库代码,直到实现USB功能为止!     首先准备参照正点原子<第88讲 USB虚拟串口实验-M3>…
转自:https://blog.csdn.net/jiujiujiuqiuqiuqiu/article/details/47277685 一.HID设备识别 前面有提到关于SCSI协议的USB设备实现.现在来谈谈USBHID设备.HID全称Human Interface Device.HID协议里增加了HID描述符和报告描述符,以及特定的关于HID的类请求.HID设备的通信是通过报表来进行的.据说,报告描述符是USB设备中最难的描述符了.关于HID描述符可以参考HID协议.接下来我们谈谈报告描述…
stm32自带usb接口,非常适合做hid设备,免驱开发也很方便. 使用stm32通过正确的报告描述符配置后,插入usb,电脑正确识别如下(设备和打印机) 可以通过右键,游戏控制器设置 通过选择属性 然后点击属性 本测试测试做了一个简单的测试,通过命令控制 位置坐标(绝对位置坐标) 顺序移动,测试按键依次被按下…
在USB中,USB Host是通过各种描述符来识别识别设备的,一般在设备枚举的过程将会获取有设备描述符/配置描述符/接口描述符/端点描述符/字符串描述符等 现在我们来介绍一下HID ReportDesc. 我们看一下在其内容为 我们先来使用HID Descriptor Tool来生成上面的数据 小结 USAGE_PAGE You first set a usage page.  Above it is using 'Generic Desktop' USAGE_PAGE page is much…
               Keyboard.c #include "keyboard.h"#include "my_usb.h"#include "gpio.h"#include "stdio.h"#include "sys.h"#include "LedControl.h" int ScanCodeToMakeCode(int ScanCode); //通码int ScanCode…
Report descriptors are composed of pieces of information. Each piece of information is called an Item.报告描述符由一些数据片组成.这些数据片被叫做Item.All items have a one-byte prefix that contains the item tag, item type, and item size. 每一个Item都包含一个字节的前缀,这个前缀中包含了三个信息--it…
  USB设备可以定义一个复合设备,复合设备分两种,一种是一个设备多个配置,还有一种是一个配置多个接口,在本例中采用一个配置多个接口的方式 首先修改设备描述符,标准设备描述符和报告描述符都不需要修改,只需要修改配置描述符即可 //usb配置描述符 const u8 DinkUsbConfigDescriptor[DINK_USB_SIZ_CONFIG_DESC] = { /***************配置描述符***********************/ USB_CONFIGUARTION…