完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在...M451BSPSampleCodeStdDriverUSBD_HID_Transfer范例中
文件 descriptors.c 的 70~79行如下,中文注释是我加的下同 /* I/F descr: HID 接口描述符 */ LEN_INTERFACE, /* bLength 接口描述符的字节数大小 */ DESC_INTERFACE, /* bDescriptorType 接口描述符的类型编号 */ 0x00, /* bInterfaceNumber 该接口的编号 */ 0x00, /* bAlternateSetting 备用的接口描述符编号 */ 0x02, /* bNumEndpoints 该接口使用的端点数,不包括端点0 */ 0x03, /* bInterfaceClass 接口类型 */ 0x00, /* bInterfaceSubClass 接口子类型 */ 0x00, /* bInterfaceProtocol 接口遵循的协议 */ 0x00, /* iInterface 描述该接口的字符串索引值 */ 注意这个接口只使用了2个端点 92~110行如下: /* EP Descriptor: interrupt in.端点描述符:中断输入 */ LEN_ENDPOINT, /* bLength 端点描述符字节数大小 7 */ DESC_ENDPOINT, /* bDescriptorType 端点描述符类型编号 0x05 */ (INT_IN_EP_NUM | EP_INPUT), /* bEndpointAddress 端点地址及输入输出属性 0x01|0x80=0x81 */ EP_INT, /* bmAttributes 端点的传输类型属性 0x03 */ /* wMaxPacketSize 端点收、发的最大包大小 64 */ EP2_MAX_PKT_SIZE 0x00FF, (EP2_MAX_PKT_SIZE 0xFF00) >> 8, HID_DEFAULT_INT_IN_INTERVAL, /* bInterval 主机查询端点的时间间隔 1ms */ /* EP Descriptor: interrupt out. 端点描述符:中断输出 */ LEN_ENDPOINT, /* bLength 端点描述符字节数大小 */ DESC_ENDPOINT, /* bDescriptorType 端点描述符类型编号 */ (INT_OUT_EP_NUM | EP_OUTPUT), /* bEndpointAddress 端点地址及输入输出属性 0x02|0x00=0x02 */ EP_INT, /* bmAttributes 端点的传输类型属性 */ /* wMaxPacketSize 端点收、发的最大包大小*/ EP3_MAX_PKT_SIZE 0x00FF, (EP3_MAX_PKT_SIZE 0xFF00) >> 8, HID_DEFAULT_INT_IN_INTERVAL /* bInterval 主机查询端点的时间间隔 */ 注意:2个端点描述符定义了端点1是中断输入,端点2为中断输出 而在文件hid_transfer.c的端点事件处理中,详见88~144行 这里只抄3段 if(u32IntSts USBD_INTSTS_EP1) { /* Clear event flag */ USBD_CLR_INT_FLAG(USBD_INTSTS_EP1); // control OUT USBD_CtrlOut(); } if(u32IntSts USBD_INTSTS_EP2) { /* Clear event flag */ USBD_CLR_INT_FLAG(USBD_INTSTS_EP2); // Interrupt IN EP2_Handler(); } if(u32IntSts USBD_INTSTS_EP3) { /* Clear event flag */ USBD_CLR_INT_FLAG(USBD_INTSTS_EP3); // Interrupt OUT EP3_Handler(); } 显然是认为端点1是控制输出,端点2为中断输入,端点3为中断输出。 这和描述符定义的有明显的矛盾。所以在此就教于明白人。 |
|
相关推荐
1个回答
|
|
descriptors.c中EP_NUM是USB host的,hid_transfer.c的端点是M451的
|
|
|
|
只有小组成员才能发言,加入小组>>
625浏览 3评论
510浏览 2评论
361浏览 1评论
381浏览 1评论
348浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:38 , Processed in 0.562129 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号