目前做的一个项目需要支持U盘读写,使用TI的AM3352芯片,直接用厂家提供的USB库函数,很快就搞定了,能够正确读写金士顿的各种容量的U盘。但是测试时发现换了其它牌子的U盘,比如说紫光的,总是无法识别。查看调试信息发现,每次发送读取U盘容量的命令:Read capacity时,返回的数据长度为0(正常应该返回8个字节,包括最大逻辑块地址和块大小等信息),而且要等待比较长的时间,大概1秒多。之后无论发送什么命令都没有响应了,而在发送Read capacity命令前,这些命令都是正确返回的。请高手指点一二,可能是什么原因导致无法读取U盘容量的。 |