[USB编程]

LPC1549 USB枚举过程失败,求解。

[复制链接]
977|2
手机看帖
扫描二维码
随时随地手机跟帖
goldsunking|  楼主 | 2018-7-5 08:39 | 显示全部楼层 |阅读模式
我现在搞一个USB设备程序,USB设备正常相应HOST发出的复位信号后,流程如下:
1 接收到HOST的标准输入请求:获取设备描述符(0x80,0x06,0x00,0x01,0x00,0x00,0x40,0x00),发送设备描述符。
2 接收到HOST的输出请求:设置地址(0x00,0x05,0x02,0x00,0x00,0x00,0x00,0x00),设定本机地址:0x2。
3 总线复位。
4 接收到HOST的标准输入请求:获取设备描述符(0x80,0x06,0x00,0x01,0x00,0x00,0x12,0x00),发送设备描述符。
5 接收到HOST的标准输入请求:获取配置描述符(0x80,0x06,0x00,0x02,0x00,0x00,0xff,0x00),发送配置描述符,长度为46字节。HOST侧监控显示接收失败。
问题1:正常获取描述符的长度为9,为什么是0xff?
问题2:如果发送256字节的数据,除有效数据外,其他填充为0可否?
问题3:这种情况有可能是什么原因造成的。


相关帖子

goldsunking|  楼主 | 2018-7-8 14:19 | 显示全部楼层
看看有人帮忙分析一下吗?

使用特权

评论回复
CKhenkai| | 2018-7-12 17:30 | 显示全部楼层
本帖最后由 CKhenkai 于 2018-7-12 17:32 编辑
goldsunking 发表于 2018-7-8 14:19
看看有人帮忙分析一下吗?

一般长度为0xff时,设备会将配置+接口+端点的描述符一起发给主机,具体长度是你配置描述符里面的wTotalLength字段表示的值,该字段表示该配置所返回的所有描述符( 包括配置、接口和端点描述符) 的大小总和。不需要填充0,是多长就发送多长的

使用特权

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

本版积分规则

18

主题

172

帖子

3

粉丝