完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前M480的官方USBD例程中没有WCID WINUSB相关的例程,但可以参考以下步骤自行实现:
1. 在USBD_Config.h头文件中添加宏定义: #define USBD_SUPPORT_WCID 1 2. 在USBD_Config.h头文件中定义WCID接口的VID和PID: #define USBD_WCID_VENDOR_ID 0x1234 #define USBD_WCID_PRODUCT_ID 0x5678 3. 在USBD_ClassRequest()函数中添加处理WCID接口的代码,如下所示: case USB_REQ_GET_DESCRIPTOR: if (pSetup->wValue == 0x22EE0100) { USBD_memcpy(pbuf, WCID_DESCRIPTOR_DATA, WCID_DESCRIPTOR_SIZE); len = WCID_DESCRIPTOR_SIZE; } break; 4.在USBD_DataIn()函数中添加处理WCID接口的代码(例程中为HID接口),如下所示: case HID_IN_REPORT: if (hdev->hid_tx_busy == 0) { /* Trigger HID IN interrupt */ hdev->hid_tx_busy = 1; USBD_SET_PAYLOAD_LEN(ep->epAddr, ep->MaxPacketSize); } break; 5. 在WCID_DESCRIPTOR_DATA数组中定义WCID描述符,用于向主机发送WCID信息,如下所示: __align(4) const uint8_t WCID_DESCRIPTOR_DATA[] = { 0x40,0x00,0x01,0x00, //WCID descriptor length 0x00,0x01, //bcdVersion 0x04, //bClass 0x01, //bSubClass 0x00, //bProtocol 0x00, //bNumConfigurations 0x40,0x00, //Reserved }; 需要注意的是,实现WCID WINUSB接口需要对USB设备描述符、配置描述符、接口描述符等进行相应的修改。可以参考官方的USB规范进行处理。 |
|
|
|
只有小组成员才能发言,加入小组>>
695 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
654浏览 9评论
650浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
782浏览 6评论
629浏览 5评论
669浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:06 , Processed in 0.885346 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号