| | | 楼主 作者:kxgp 发表时间:2010-6-30 15:27:05 | |
EUP帮助文件好像有错
收到Easy USB 51 Programer 后,按照光盘帮助一步一步学习, 在如何如何成为一个HID设备(模拟鼠标)一节中,成功进行到“打开设备管理器我们发现人体学输入设备下面有一个USB设备出现了“!”号”这一步,但第三步出现几个错误,首先帮助中由HID Descriptor tool生成 描述符号 是键盘的描述符合,改到鼠标后,编译DESCRIPTOR.C(145)ERROR C242:'struct':too many initializers出错。请问原因?
-
- #include <reg52.h>
- #include "D12Config.h"
- #include "Descriptor.h"
-
-
- #define USB_CLASS_CODE_TEST_CLASS_DEVICE 0xdc
-
-
- #define USB_SUBCLASS_CODE_TEST_CLASS_D12 0xA0
-
-
- #define USB_PROTOCOL_CODE_TEST_CLASS_D12 0xB0
-
- code char MouseReportDescriptor[52] = {
- 0x05, 0x01,
- 0x09, 0x02,
- 0xa1, 0x01,
- 0x09, 0x01,
- 0xa1, 0x00,
- 0x05, 0x09,
- 0x19, 0x01,
- 0x29, 0x03,
- 0x15, 0x00,
- 0x25, 0x01,
- 0x95, 0x03,
- 0x75, 0x01,
- 0x81, 0x02,
- 0x95, 0x01,
- 0x75, 0x05,
- 0x81, 0x03,
- 0x05, 0x01,
- 0x09, 0x30,
- 0x09, 0x31,
- 0x09, 0x38,
- 0x15, 0x81,
- 0x25, 0x7f,
- 0x75, 0x08,
- 0x95, 0x03,
- 0x81, 0x06,
- 0xc0,
- 0xc0
- };
-
-
- code USB_DEVICE_DESCRIPTOR DeviceDescr =
- {
- sizeof(USB_DEVICE_DESCRIPTOR),
- USB_DEVICE_DESCRIPTOR_TYPE,
- 0x00,0x01,
-
- 0,
- 0, 0,
- EP0_PACKET_SIZE,
- 0x71,0x04,
- 0x66,0x02,
- 0x00,0x01,
- 0, 0, 0,
- 1
- };
-
-
- code USB_DESCRIPTOR usb_descr =
- {
-
- {
- sizeof(USB_CONFIGURATION_DESCRIPTOR),
- USB_CONFIGURATION_DESCRIPTOR_TYPE,
- CONFIG_DESCRIPTOR_LENGTH,0x00,
- 1,
- 1,
- 0,
- 0x80,
- 0x32
- },
-
- {
- sizeof(USB_INTERFACE_DESCRIPTOR),
- USB_INTERFACE_DESCRIPTOR_TYPE,
- 0,
- 0,
- NUM_ENDPOINTS,
-
- 0x03,
-
- 1,
-
- 1,
- 0
- },
-
- {
- sizeof(USB_HID_DESCRIPTOR),
- USB_HID_DESCRIPTOR_TYPE,
- SWAP16(0x0110),
- 0x21,
- NUM_SUB_DESCRIPTORS,
- USB_REPORT_DESCRIPTOR_TYPE,
- SWAP16(sizeof(MouseReportDescriptor)),
- },
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- sizeof(USB_ENDPOINT_DESCRIPTOR),
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- 0x82,
- USB_ENDPOINT_TYPE_INTERRUPT,
- EP2_PACKET_SIZE,0x00,
- 0x01
- },
-
- {
- sizeof(USB_ENDPOINT_DESCRIPTOR),
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- 0x2,
- USB_ENDPOINT_TYPE_INTERRUPT,
- EP2_PACKET_SIZE,0x00,
- 0x01
- }
- };
-
-
回复楼主
|
 | | 第1楼 作者:强强 发表时间:2010-6-30 21:55:33 | | |
_USB_DESCRIPTOR结构体没有修改正确
其中第三步->1->F这一步要求修改以下内容:
-
- typedef struct _USB_DESCRIPTOR {
- USB_CONFIGURATION_DESCRIPTOR ConfigDescr;
- USB_INTERFACE_DESCRIPTOR InterfaceDescr;
- USB_HID_DESCRIPTOR HidDescr;
- USB_ENDPOINT_DESCRIPTOR EP1_TXDescr;
- USB_ENDPOINT_DESCRIPTOR EP1_RXDescr;
- USB_ENDPOINT_DESCRIPTOR EP2_TXDescr;
- USB_ENDPOINT_DESCRIPTOR EP2_RXDescr;
- } USB_DESCRIPTOR, *PUSB_DESCRIPTOR;
为
-
- typedef struct _USB_DESCRIPTOR {
- USB_CONFIGURATION_DESCRIPTOR ConfigDescr;
- USB_INTERFACE_DESCRIPTOR InterfaceDescr;
- USB_HID_DESCRIPTOR HidDescr;
-
-
- USB_ENDPOINT_DESCRIPTOR EP2_TXDescr;
- USB_ENDPOINT_DESCRIPTOR EP2_RXDescr;
- } USB_DESCRIPTOR, *PUSB_DESCRIPTOR;
应在Descriptor.h中修改,其正确的描述应为:
修改Descriptor.h中以下内容:
-
- typedef struct _USB_DESCRIPTOR {
- USB_CONFIGURATION_DESCRIPTOR ConfigDescr;
- USB_INTERFACE_DESCRIPTOR InterfaceDescr;
- USB_ENDPOINT_DESCRIPTOR EP1_TXDescr;
- USB_ENDPOINT_DESCRIPTOR EP1_RXDescr;
- USB_ENDPOINT_DESCRIPTOR EP2_TXDescr;
- USB_ENDPOINT_DESCRIPTOR EP2_RXDescr;
- } USB_DESCRIPTOR, *PUSB_DESCRIPTOR;
为
-
- typedef struct _USB_DESCRIPTOR {
- USB_CONFIGURATION_DESCRIPTOR ConfigDescr;
- USB_INTERFACE_DESCRIPTOR InterfaceDescr;
- USB_HID_DESCRIPTOR HidDescr;
-
-
- USB_ENDPOINT_DESCRIPTOR EP2_TXDescr;
- USB_ENDPOINT_DESCRIPTOR EP2_RXDescr;
- } USB_DESCRIPTOR, *PUSB_DESCRIPTOR;
------------------------------------------------------------- 只要这把这里修改好就可以通过编译了
回复楼主 回复第1楼
|
| | |