
知识背景:对于HID类,OUT端点并不是必须的. 根据USB HID协议,当没有专用的OUT端点时,set report使用control端点实现,具体就是通过HID类的请求,然后通过Data stage携带set report数据. 现在遇到一个项目需要进行双向通讯的HID。使用STM32F105作为usb host, 1、目前在在en.stm32cubef1\STM32Cube_FW_F1_V1.4.0\Projects\STM3210C_EVAL\Applications\USB_Host\HID_Standalone基础上修改能够正常的读取input端点发送的数据。 2、《UM1720【用户手册】STM32Cube™ USB 主机库》中提到USBH_HID_SetReport[通过控制通道发送报告数据 ],不知道如何使用这个USBH_HID_SetReport函数。 |
stm32 USB的CDC类传输掉数据
STM32F105 USB接收数据不断进入中断,出现“死机”现象
关于STM32CubeMX配置的USB例程电脑无法识别问题
STM32F407 USB-HS-OTG是否不外接PHY可以做虚拟串口?
如何做一个USB从机键盘用stm32f407
用STM32F4 Cube MX生成的USB Device C代码的BUG
USB Device + FatFS + SDIO 模拟U盘意外只读问题
USB Device + FatFS + SDIO 问题
STM32H7配置成USB DEVICE时,连接电脑时不进入中断
STM32F446 USB和串口1 冲突
我的猜测
static USBH_StatusTypeDef USBH_HID_ClassRequest(USBH_HandleTypeDef *phost)中添加
case HID_REQ_SET_REPORT:
{
uint8_t buff[2] = { 0x0, 0x0 };//这测试固定为常量
USBH_StatusTypeDef ret = USBH_HID_SetReport(phost, 2, 0, buff, 1);
if ((ret == USBH_OK) || (USBH_NOT_SUPPORTED == ret))
{
HID_Handle->ctl_state = HID_REQ_IDLE;
status = USBH_OK;
/* all requests performed*/
phost->pUser(phost, HOST_USER_CLASS_ACTIVE);
}
}
break;
但是不知道如何触发这个
如何触发这个HID_Handle->ctl_state = HID_REQ_SET_REPORT
我原理通了,弄个简单demo工程教程思路和工程
评分
查看全部评分