yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1213回复:6

设备和接口描述符中

楼主#
更多 发布于:2003-12-31 10:49
利用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]
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-12-31 11:11
利用D12+AT89C52
其中的设备和接口描述符中,bDeviceClass,bSubDeviceClass,bDevicePortocol
怎么设置?

如果不使用特定的
在U盘、移动硬盘的中
这几个设置成0x0就可以了
我思,故我在
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-12-31 11:22
我实现的只是把数据传给设备中E方ROM中,对于00,__USB100_H__中
是定义:
#define USB_DEVICE_CLASS_RESERVED        0x00
那就是保留的意思,还是默认的协议?
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-12-31 12:00
我实现的只是把数据传给设备中E方ROM中,对于00,__USB100_H__中
是定义:
#define USB_DEVICE_CLASS_RESERVED        0x00
那就是保留的意思,还是默认的协议?

那就直接使用这个值吧,可以认为是一个默认值吧
这个值表示interface操作是否独立而已,如果为0,则独立
另外就是,你的描述符中没有给出要使用这3个值的device descriptor。
我思,故我在
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于: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就可以了吗?
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-12-31 14:50
应该是这样的
我思,故我在
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2003-12-31 17:51
谢谢,元旦快乐!
送分
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
游客

返回顶部