USBD_HID_SendReport(&hUsbDeviceFS,sendbuffer,8);//发送报文 HAL_Delay(15); USBD_HID_SendReport(&hUsbDeviceFS,txbuffer,8);//发送报文 HAL_Delay(15); } 如上代码所示,发送报告实现键盘字符的模拟,查询USB官方文档可知,字母a键值对应4,其他类推。代码中延迟10s再发送数据,下载程序后,重新插拔USB,...
USB 设备库功能 6.2.1 USB 设备 - 内核文件 Core 目录包含了 USB 设备库状态机,它由通用...
USBD_CUSTOM_HID_REPORT (Total length for Report descriptor(IN ENDPOINT))(报告描述符大小):2(默认为2,可根据自定义设备描述符的具体大小修改) USBD_CUSTOMHID_OUTREPORT_BUF_SIZE (Maximum report buffer size)(发送与接收数据大小):2(默认为2,HID一次最多可以发送64个字节) 设备描述符保持默认。 四、生成...
1、USBD_HID_ConfigDesc 里面End point的 wMaxPacketSize 值已由0x04改0x08,此值前期改过不管用,可能是只改这一处的原因。 2、Report,HID Report Descriptor里面的HID REPORT SIZE也需要改成20字节。 这条不知怎么下手,试改了几处仍不行,如改过HID_MOUSE_REPORT_DESC_SIZE,值由74改为78,但仍不行 举报...
OpenEdv-开源电子网»首页 › 单片机/嵌入式 › STM32-F0/F1/F2专区 › stm32的usb报告描述符使用report ID 来区分,发送数据时 ...返回列表 查看: 12230|回复: 6 stm32的usb报告描述符使用report ID 来区分,发送数据时怎样区分使用哪个ID
USB_EP_INT); DCD_EP_PrepareRx(pdev,HID_OUT_EP,Report_buf,HID_OUT_PACKET); PrevXferDone=1; return USBD_OK; } 第四步: 修改发送函数,注意不能一直往USB FIFO里面填充数据,一定要等上一次传输完成再填充。 USBD_HID_SendReport(&USB_Device_dev, Send_Buffer,HID_IN_PACKET); ...
到这里我们就可以下一步了,打开刚才建立的工程,在 usbd_custom_hid_if.c 文件里,找到 CUSTOM_HID_ReportDesc_FS 这个函数,把刚才生成的报文文件覆盖掉函数里面的文件,代码如下: /** Usb HID report descriptor. */ __ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SI...
// Send HID report mouseHID.x = 10; USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t*)&mouseHID, sizeof(struct mouseHID_t)); HAL_Delay(1000); } /* USER CODE END 3 */ 编译下载后复位 在电脑设备管理中可以看到一个新的USB输入设备(到这部时候可以看到我们的STM32的USB枚举成功) ...
// /* Send Report */ // USBD_HID_SendReport (&USB_Device_dev, // buf, // 4); // } //#endif TimingDelay_Decrement(); } 这个是延时函数: void HAL_Delay(__IO uint32_t nTime) { TimingDelay = nTime; while(TimingDelay != 0); ...
也就是说,在配置集合中,有信息说明这个设备是鼠标,我们看下。在usb_hid.c文件中,有一个数组:USBD_HID_CfgFSDesc,其中一行: 单是这个还不够,还要结合报告描述符。也在这个文件内,名字是HID_MOUSE_ReportDesc。内容如下: 代码语言:javascript 复制