打印
[AVR单片机]

USB玫举

[复制链接]
1550|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhb430124|  楼主 | 2011-7-23 08:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
USB玫举过程进行到,设备收到 80 06 00 02 00 00 FF 00 电脑来获取配置描述时,设备配置描述有34字节长,电脑只给了四次IN中断,传了前面32字节,设备就再收不到IN中断了,还有2字节没有上传!这时电脑就再发一次 80 06 00 02 00 00 FF 00 设备又重复刚这样发32字节!这时电脑就不给命令了!这问题出在哪?
unsigned char  ConDes[]={   
//配置描述符
    0x09,    //配置描述符的字节数大小,9个字节
    0x02,    //配置描述符类型编号,常数CONFIG
    0x22,0x00,  //此配置传回所有数据大小
    0x01,    //接口数
    0x01,   //配置值
    0x00,    //索引
    0xe0,    //电源设置
    0xc8,   //需要总线电源
//接口描述符
0x09,    //描述符大小
0x04,    //常数INTERFACE
0x00,    //识别码
0x00,    //代替数值
0x01,    //支持的端点数
0x03,    //类别码,HID设备
0x01,    //子类别码
0x01,    //协议码
0x00,    //索引
    //HID类描述符
    0x09,  //HID描述符的字节数大小
    0x21,  //HID描述符类型编号
    0x10,  //HID类协议版本号,为1.1
    0x01,
    0x00,  //固件的国家地区代号,0x21为美国
    0x01,  //下级描述符的数量1
    0x22,  //下级描述符的类型为报告描述符
    43,0,  //下一级描述符的大小为35个字节  0x41
//端点描述符
0x07,  //述符大小类型
0x05,  //常数ENDPOINT
0x81,  //端点数目及方向
0x03,  //传输的类型为中断传输
0x08, 0x00, //支持的最大信息包大小
0x0a};   //中断扫描时间,设为10ms,由于读卡最大可能要花90MS,所以这里开到110MS

相关帖子

沙发
zhb430124|  楼主 | 2011-7-23 09:40 | 只看该作者
设备描述:
//设备描述符
unsigned char  DevDes[]={
        0x12,                         //描述符大小
    0x01,                         //常数DEVICE
    0x01, 0x00,                //USB规范版本信息(1.10)
        0x03,                         //类别码,
        0x01,                         //子类别码
        0x00,                         //协议码
        0x08,                         //端点0的最大信息包大小
        0x43, 0x42,                //厂商ID(二个字节)
        0x31, 0xe1,                //产品ID(二个字节)
        0x00, 0x01,                //设备版本信息或设备出厂编号(二字节)
        0x00,                         //设备厂商字符串的索引值
        0x00,                         //描述产品字符串的索引
        0x00,                         //描述设备序列号字符串的索引
        0x01};                         //可能配置的数目

使用特权

评论回复
板凳
zhb430124|  楼主 | 2011-8-4 14:00 | 只看该作者
问题已经解决,数据交互出错

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

11

帖子

0

粉丝