|
发表于 2025-1-8 16:27:53
|
显示全部楼层
本帖最后由 lcfmax 于 2025-1-10 14:05 编辑
最近在使用的你的作品cherryusb,谢谢给我们分享这么好的USB协议栈。
目前我在M33架构的MCU的高速,全速USB上验证了几种协议,有一些疑问想请教一下你。
1. 目前我验证了msc, cdc-acm单独功能完全正常稳定
2. 验证 cdc_acm_msc_template的方式也完全正常。
3. 验证hid_custom_inout_template模版的时候,高速跟全速下,上位机跟下位机通信都失败,其中上位机我是在网上找到的别人用过的。后来在全速状态下,修改了报告描述符如下,就可以跟网上的上位机通信了。
//报告描述符---------------------------------------
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x00, // USAGE (Undefined) //自定义
0xa1, 0x01, // COLLECTION (Application)
0x15, 0x00, // LOGICAL_MINIMUM (0) //值最小为 0
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255) //最大为255
0x19, 0x00, // USAGE_MINIMUM (Undefined)
0x29, 0x39, // USAGE_MAXIMUM (Hat switch)
0x75, 8, // REPORT_SIZE (8) 每包数据大小
0x95, 0x08, // REPORT_COUNT (8) 每个数据的bit 数 8个bit 即一个字节
0x81, 0x02, // INPUT (Data,Var,Abs)
0x09, 0x00, // USAGE (Undefined) //自定义
0x91, 0x02, // OUTPUT (Data,Var,Abs)
/* USER CODE END 0 */
0xC0 /* END_COLLECTION */
4. 但是HID在高速USB上面是跑不了,所以请问一下你,你当时有没有测试过HID高速下的通信,你用的上位机是那个?方便提供一下么?
5. 以上我在win10 x64上面验证的。 |
|