关于USBH_HID_SetReport函数如何使用
知识背景:对于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函数。
我也想知道,给你顶起 海迹天涯 发表于 2017-8-8 17:25
我也想知道,给你顶起
我的猜测
static USBH_StatusTypeDef USBH_HID_ClassRequest(USBH_HandleTypeDef *phost)中添加
case HID_REQ_SET_REPORT:
{
uint8_t buff = { 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 海迹天涯 发表于 2017-8-8 17:25
我也想知道,给你顶起
我原理通了,弄个简单demo工程教程思路和工程
页:
[1]