MX_USB_DEVICE_Process(); } ``` 在这个示例代码中,我们通过调用`MX_USB_DEVICE_Init`函数来初始化USB HID设备,并在主循环中调用`MX_USB_DEVICE_Process`函数来处理USB设备事件。然后,我们设置keyboardHID数组中的按键状态,通过`USBD_HID_SendReport`函数将按键状态发送到计算机。 注意:上述代码仅展示了如何设置...
在USB协议中,HID设备的类型定义放置在接口描述符中,USB的设备描述符和配置描述符中不包含HID设备的信息。因此,对于某些特定的HID设备,可以定义多个接口,一个接口为HID设备类即可。。当USB一个设备为HID设备时,其设备描述符里面的bDeviceClass、bDeviceSubClass、bDeviceProtocol应为0,具体的定义在接口描述符中,接口描...
1、 接上述步骤5之后的界面,点击左侧Flow Navigator中IP INTEGRATOR下的Create Block Design选项,此时将出现指定名字界面,在Design name中键入名字,这里填usb_device_design_1,然后点击OK,将出现右侧的Diagram工作区: 2、 在Diagram工作区中点击+号,在出现的Search中键入zynq,回车将出现zynq7 IP模块,双击将把该模块...
connectivity这里打开usb,勾选Device,参数保持默认即可。 Middleware and Software Packs这里选择USB_DEVICE,Mode这里选择Custom HID,参数如果懂可以根据需求改,不懂保持默认,后边我们在代码里改也可以。 之后配置好时钟和其他设置,生成代码即可。 2、 我用的vscode+platformio开发环境,新建工程并打开导出的代码。Cubemx和...
这里的配置描述符描述设备为HID的鼠标、设备电流、输入输出端点等:/* USB HID device FS Configuration ...
设备描述符中bDeviceClass、bDeviceSubClass和bDeviceProtocol三个字段的值必须为零。 接口描述符中bInterfaceClass的值必须为0x03,bInterfaceSubClass的值为0或1,为1表示HID设备符是一个启动设备(Boot Device,一般对PC机而言才有意义,意思是BIOS启动时能识别并使用您的HID设备,且只有标准鼠标或键盘类设备才能成为Boot...
接口描述符中bInterfaceClass的值必须为0x03,bInterfaceSubClass的值为0或1,为1表示HID设备符是一个启动设备(Boot Device,一般对PC机而言才有意义,意思是BIOS启动时能识别并使用您的HID设备,且只有标准鼠标或键盘类设备才能成为Boot Device。如果为0则只有在操作系统启动后才能识别并使用您的HID设备)。 USB HID类描...
#include "usb_device.h" #include "usbd_hid.h" extern USBD_HandleTypeDef hUsbDeviceFS; int main(void) { // 初始化HAL库和系统时钟 // 启动USB设备 MX_USB_DEVICE_Init(); while (1) { // USB设备处理 MX_USB_DEVICE_Process(); // 设置键盘按键状态 uint8_t keyboardHID[8] = {0}; ke...
点击1处,选中后Device(FS),3处选择HID,其他参数默认。 配置USB 时钟 USB时钟需设置为48MHz。 增加堆栈大小,防止溢出 3. 编辑代码 更改为键盘。 设备描述符改为键盘 usbd_hid.c文件中USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]对应值由0x02改为0x01。