导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→提供了海量存储器描述符为什么仍然要求驱动呢?

* 47871: 提供了海量存储器描述符为什么仍然要求驱动呢?

   freasy 
freasy发表的帖子 

 提供了海量存储器描述符为什么仍然要求驱动呢?
我的USB开发板想做成一个U盘,我按照mass storage的bulk_only协议和ufi协议提供给主机描述符,为什么系统仍然要求提供驱动程序呢?
我的描述符是这样的
const char device_descriptor[] =
{
 0x12,   // 描述表大小 (18 bytes)
 0x01,   // 设备描述表类型
 0x00, 0x01, // 兼容设备版本号(BCD码)
 0x00,   // class code (each interface specifies class information) */
 0x00,   // device sub-class (must be set to 0 because class code is 0) 
 0x00,   // device protocol (no class specific protocol) */
 0x10,   // 端点0最大包大小(8,16,32,64)
 0x00, 0x04, // 厂商ID
 0x00, 0x01, // 产品ID
 0x00, 0x01, // 设备发行号(BCD码)
 0x00,   // 厂商信息字符串索引
 0x00,   // 产品信息字符串索引
 0x00,   // 设备序列号字符串索引(不支持设为0)
 0x01   // 可能配置数
};

const char Configuration_Descriptor[] =
{
0x09,    // 配置描述表长度
0x02,    // 配置描述表类型
0x20,0x00,  // 配置描述表及附带表长度
0x01,    // 接口配置数
0x01,    // 配置描述表标识
0x00,    // 配置描述表字符串描述表索引
0x20,    // 配置属性
0x64     // 总线供电最大值(*2mA)
};

const char Interface_Descriptor[] =
{
0x09, // 接口描述表长度(9)
0x04, // 接口描述表类型
0x00, // 接口号(0)
0x00, // 轮寻设置(0 号端点)
0x02, // 端点数 (4)
0x08, // 接口类属
0x04, // 子类码
0x50, // 协议码
0x00  // 接口字符串描述表索引(不支持)
};

const char Endpoint1_out_Descriptor[] =
{
0x07, // 端点描述表长度(7)
0x05, // 端点描述表类型
0x01, // OUT 端点(1)
0x02, // 传输模式(0 控制、1 同步、2 批、3 中断传输)
0x10, 0x00, // 最大包大小(16)
0x00   
};

const char Endpoint1_in_Descriptor[] =
{
0x07, // 端点描述表长度(7)
0x05, // 端点描述表类型
0x81, // IN 端点(1)
0x02, // 传输模式(0 控制、1 同步、2 批、3 中断传输)
0x10, 0x00, // 最大包大小(16)
0x00  // 轮寻时间 (1ms)
};




发表时间:2004年1月24日17:57:51

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  47873.[详细]我跟踪程序发现主机只读了设备描述符
摘要:我在读取描述符的地方做了手脚,如果读取,就会让某个led灯亮 结果发现只有代表设备描述符的灯亮了~......(94字)
- [freasy][1017次] 2004年1月24日

  47884.[详细]确实读取了其它描述符,可是系统为什么不识别为mass storage 呢?..
摘要:我在usb的接收中断里面添加跟踪的代码(其实就是在里面让灯亮),最后发现,除了0端点接收到了数据外,其它端点都没有数据了~~。我用的是bulk_only协议,1端点应该过来ufi的数据啊~......(168字)
- [freasy][984次] 2004年1月26日

[上一篇帖子]:就是一个电阻该电阻接到一个高的电势上。比如说vcc上。
[下一篇帖子]:请问“上拉电阻”的概念如何理解??[B]请问“上拉电阻”的概念如何理解??还有“灌电流,拉电流”有怎