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

查看: 8670|回复: 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版