查看: 1020|回复: 0
打印 上一主题 下一主题

贡献一个STM32 USB HID例程,可以发送64个字节,实测版

[复制链接]
跳转到指定楼层
沙发
发表于 2015-6-2 14:18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先上测试手记。


MyUSB_HID_KEIL
MyUSB_HID_KEIL目录下是STM32 USB可演示版MCU项目源代码;

1、HID模式USB工作模式;
2、用端点0,1,2;
   1为输出端点,2为输入端点;数据长度64字节;

   对STM32 USB来讲,1是接受数据;2是发送数据;
3、、注意更改报告描述符输入数据长度为64字节;
4....改为HID模式后,原键盘或mouse
     _ReportDescriptor切忌不能再用!
这里借用网友的贡献!
const u8 CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC]
{
//#ifdef 0
0x05, 0x8c, /* USAGE_PAGE (ST Page) */
0x09, 0x01, /* USAGE (Demo Kit) */
0xa1, 0x01, /* COLLECTION (Application) */
/* 6 */

// The Input report
0x09,0x03, // USAGE ID - Vendor defined
0x15,0x00, // LOGICAL_MINIMUM (0)
0x26,0x00, 0xFF, // LOGICAL_MAXIMUM (255)
0x75,0x08, // REPORT_SIZE (8)
0x95,0x40, // REPORT_COUNT (20)
0x81,0x02, // INPUT (Data,Var,Abs)
//19
// The Output report
0x09,0x04, // USAGE ID - Vendor defined
0x15,0x00, // LOGICAL_MINIMUM (0)
0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255)
0x75,0x08, // REPORT_SIZE (8)
0x95,0x40, // REPORT_COUNT (20)
0x91,0x02, // OUTPUT (Data,Var,Abs)
//32
// The Feature report
/*
0x09, 0x05, // USAGE ID - Vendor defined
0x15,0x00, // LOGICAL_MINIMUM (0)
0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255)
0x75,0x08, // REPORT_SIZE (8)
0x95,0x02, // REPORT_COUNT (2)
0xB1,0x02,
*/
/* 45 */
0xc0 /* END_COLLECTION */
//#endif
}; /* CustomHID_ReportDescriptor */
请注意,这里我也做了一点贡献,将REPORT_COUNT改为64;
否则 就只能上传22个字节,就如网友一直提的那样;
估计,是当初第一个人移植的不很彻底。总之,要谢谢各位网友的贡献。


5\另外切记:开发板上,不鞥插2个USB线,否则,不能捕获数据,这个暂时不懂,还请高手指点.
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表