TI中文支持网
TI专业的中文技术问题搜集分享网站

USB枚举成MSC类后复位失败,什么原因?

枚举成MSC类成功,但是在数据传输过程中有两个问题:

1、如果CBW非法或者接收到不支持的命令,则设置CSW并发送时会超时并失败,然后主机就复位设备;

2、主机复位设备会失败,复位USB的函数之前都是好用的,包括枚举过程中主机对设备的复位都是没问题的,但是枚举成MSC类后,只要有主机发送复位请求就会复位失败。我用 USBlyzer 抓取数据看到主机复位三次均失败,显示的原因是 设备数据错误,不知道是什么意思。

上面两个问题是什么原因导致的,怎么解决?

 

Maka Luo:

Hi, 

使用的TI那个型号?什么情况下出现这个问题。

Heng Zhao:

回复 Maka Luo:

使用的是 MSP430F5529   枚举成MSC类后 写入SD卡时偶尔会出现错误,但是读取的时候从来不会遇到这种问题,还有就是,虽然TI的例程里编写了USB MSC类的两个类特殊请求处理代码,但是通过调试发现,主机(上位机PC)从来都不会发送 Bulk-Only Mass Storage Reset 请求,在MSC类下,复位请求是利用普通的USB复位来实现的,而不是Bulk-Only Mass Storage Reset 请求,不知道怎么回事,而在MSC类下的普通USB复位会显示失败(用 USBlyzer 抓取),而其他情况下复位是正常的。

赞(0)
未经允许不得转载:TI中文支持网 » USB枚举成MSC类后复位失败,什么原因?
分享到: 更多 (0)