阅读:1214回复:6
设备和接口描述符中
利用D12+AT89C52
其中的设备和接口描述符中,bDeviceClass,bSubDeviceClass,bDevicePortocol 怎么设置? #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 USB_CONFIGURATION_DESCRIPTOR ConfigDescr = { sizeof(USB_CONFIGURATION_DESCRIPTOR), USB_CONFIGURATION_DESCRIPTOR_TYPE, SWAP(CONFIG_DESCRIPTOR_LENGTH), 1, 1, 0, 0xFF,//设备属性, 0x10//总线电源消耗: 单位是2mA ; 这里定义了 20mA }; //接口描述符 code USB_INTERFACE_DESCRIPTOR InterfaceDescr = { sizeof(USB_INTERFACE_DESCRIPTOR), USB_INTERFACE_DESCRIPTOR_TYPE, 0, 0, NUM_ENDPOINTS, USB_CLASS_CODE_TEST_CLASS_DEVICE, USB_SUBCLASS_CODE_TEST_CLASS_D12, USB_PROTOCOL_CODE_TEST_CLASS_D12, 0 }; 请指教 [编辑 - 12/31/03 by yyouking] |
|
|
沙发#
发布于:2003-12-31 11:11
利用D12+AT89C52 如果不使用特定的 在U盘、移动硬盘的中 这几个设置成0x0就可以了 |
|
|
板凳#
发布于:2003-12-31 11:22
我实现的只是把数据传给设备中E方ROM中,对于00,__USB100_H__中
是定义: #define USB_DEVICE_CLASS_RESERVED 0x00 那就是保留的意思,还是默认的协议? |
|
|
地板#
发布于:2003-12-31 12:00
我实现的只是把数据传给设备中E方ROM中,对于00,__USB100_H__中 那就直接使用这个值吧,可以认为是一个默认值吧 这个值表示interface操作是否独立而已,如果为0,则独立 另外就是,你的描述符中没有给出要使用这3个值的device descriptor。 |
|
|
地下室#
发布于:2003-12-31 12:15
//设备描述符
设备描述符号为 code USB_DEVICE_DESCRIPTOR DeviceDescr = { sizeof(USB_DEVICE_DESCRIPTOR), USB_DEVICE_DESCRIPTOR_TYPE, SWAP(0x0110), USB_CLASS_CODE_TEST_CLASS_DEVICE, 0, 0, EP0_PACKET_SIZE, SWAP(0x0471), SWAP(0x0666), SWAP(0x0100),//device version BCD, not useful 0, 0, 0, 1 }; 其中的设备类参数也改为0就可以了吗? |
|
|
5楼#
发布于:2003-12-31 14:50
应该是这样的
|
|
|
6楼#
发布于:2003-12-31 17:51
谢谢,元旦快乐!
送分 |
|
|