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

查看: 8702|回复: 1

如何向USB HID设备发送数据(STM32F207-stm32f105-07_f2xx_usbhost_lib)

[复制链接]

1

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-4-16 21:18:15 | 显示全部楼层 |阅读模式
 本人利用ST提供的stm32f105-07_f2xx_usbhost_lib库把STM32F207当作HID设备来操作,由于ST提供的例程只是向主机发送数据,本人想利用Bus Hound软件将数据写入HID设备,标准的USB 设备请求命令:SET_DESCRIPTOR来向设备写入数据,
bmRequestType  + bRequest  + wValue  + wIndex  + wLength  + 数据,(0x00 + 0x07 + (0x00 + 0x00)+ (0x00 + 0x00)+ (0x10 + 0x00) +16个DATA)但是我在设备设断点,看到主机给从机发送的数据只有前面八个数据,没有后面16个DATA。
对接收的数据进行解析函数:
void USBD_ParseSetupRequest( USB_OTG_CORE_HANDLE  *pdev,
                            USB_SETUP_REQ *req)
{
  req->bmRequest     = *(uint8_t *)  (pdev->dev.setup_packet);
  req->bRequest      = *(uint8_t *)  (pdev->dev.setup_packet +  1);
  req->wValue        = SWAPBYTE      (pdev->dev.setup_packet +  2);
  req->wIndex        = SWAPBYTE      (pdev->dev.setup_packet +  4);
  req->wLength       = SWAPBYTE      (pdev->dev.setup_packet +  6);
 
  pdev->dev.in_ep[0].ctl_data_len = req->wLength  ;
  pdev->dev.device_state = USB_OTG_EP0_SETUP;
}
我在keil窗口观察变量pdev->dev.setup_packet,发现只有前面八个数据,后面16个data却没有(setup_packet为setup_packet [8*3]; ),不知道自己错在哪个位置,请大家指点一下!按照协议,SET_DESCRIPTOR后面是可以带数据的,不知道为何从设备接到不到。
或者大家有什么更好的方法,请指点。
程序位置:stm32f105-07_f2xx_usbhost_lib\STM32_F105-07_F2xx_USB-Host-Device_Lib_V2.0.0\Project\USB_Device_Examples\HID;(target option->define : USE_USB_OTG_HS,USE_EMBEDDED_PHY)

stm32f105-07_f2xx_usbhost_lib.zip

下载

2.65 MB, 下载次数: 157, 下载积分: ST金币 -1

回复

使用道具 举报

1

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-4-17 13:49:47 | 显示全部楼层

RE:如何向USB HID设备发送数据(STM32F207-stm32f105-07_f2xx_usbhost_lib)

是不是不能向端点0发数据啊?端点0为控制端点,自己也不太清楚。
回复 支持 反对

使用道具 举报

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