你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于USBH_HID_SetReport函数如何使用

[复制链接]
mscs13179 提问时间:2017-8-8 16:38 /
知识背景:对于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函数。
收藏 评论3 发布时间:2017-8-8 16:38

举报

3个回答
海迹天涯 回答时间:2017-8-8 17:25:29
我也想知道,给你顶起
mscs13179 回答时间:2017-8-9 11:37:51
海迹天涯 发表于 2017-8-8 17:25
我也想知道,给你顶起

我的猜测
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
mscs13179 回答时间:2017-8-16 15:51:17
海迹天涯 发表于 2017-8-8 17:25
我也想知道,给你顶起

我原理通了,弄个简单demo工程教程思路和工程

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版