知识背景:对于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函数。 |
Your UAT Feedback is needed within today.
STM32_USB_Device_Library
用STM32F4 Cube MX生成的USB Device C代码的BUG
STM32F446 USB和串口1 冲突
STM32f407ZG使用STM32CubeMX创建USB应用失败
请教stm32F105 USB开发资料去哪里下载
STM32F103VE-USB-VCOM发不出数据
STM32cubemx 配置出的 USB HID 电脑无法识别
[STM32L496] 求助USBCDC通信,PC端总是需要插拔USB线问题
STM32F USB DFU下载无法识别USB设备
我的猜测
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工程教程思路和工程
评分
查看全部评分