在线时间1329 小时
UID3124330
注册时间2015-11-26
NXP金币3353
TA的每日心情 | 开心 2019-3-5 08:47 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
金牌会员
 
- 积分
- 9107
- 最后登录
- 2025-9-16
|
抽时间测试一下N947 的USBHID双向通讯,原理图如图1所示:
图1
实际连接图如2所示:
图2
在SDK中找到hid_generic_lite_bm项目例程,如图3所示:
图3
在usb_device_descriptor.c中修改In 和Out数据为64个字节,如下所示:
- #define USB_HID_GENERIC_IN_BUFFER_LENGTH (64U) //(8U)
- #define USB_HID_GENERIC_OUT_BUFFER_LENGTH (64U) //(8U)
复制代码- uint8_t g_UsbDeviceHidGenericReportDescriptor[] = {
- 0x05U, 0x81U, /* Usage Page (Vendor defined)*/
- 0x09U, 0x82U, /* Usage (Vendor defined) */
- 0xA1U, 0x01U, /* Collection (Application) */
- 0x09U, 0x83U, /* Usage (Vendor defined) */
- 0x09U, 0x84U, /* Usage (Vendor defined) */
- 0x15U, 0x80U, /* Logical Minimum (-128) */
- 0x25U, 0x7FU, /* Logical Maximum (127) */
- 0x75U, 0x08U, /* Report Size (8U) */
- 0x95U, 0x40U, /* 修改为64;原值为08;Report Count (8U) */
- 0x81U, 0x02U, /* Input(Data, Variable, Absolute) */
- 0x09U, 0x84U, /* Usage (Vendor defined) */
- 0x15U, 0x80U, /* Logical Minimum (-128) */
- 0x25U, 0x7FU, /* Logical Maximum (127) */
- 0x75U, 0x08U, /* Report Size (8U) */
- 0x95U, 0x40U, /* 修改为64个字节,原值为08;Report Count (8U) */
- 0x91U, 0x02U, /* Output(Data, Variable, Absolute) */
- 0xC0U, /* End collection */
- };
复制代码
在usb_device_descriptor.h中的VID 和 PID,如下所示:
- #define USB_DEVICE_VID (0x1FC9U)
- #define USB_DEVICE_PID (0x00A2U)
复制代码
主程序不需要修改,主要是完成将接收到的数据,转发出去,测试结果如图4所示:
图4
|
|