u盘 Test Unit Ready 不能连续多次读取???

[复制链接]
 楼主| myxiaonia 发表于 2013-8-29 14:40 | 显示全部楼层 |阅读模式
经过一段时间的摸索,107的主机u盘程序写到了bot传输阶段
bot 传输使用以下步骤:
发送cbw,若出现stall,clearfeature bulk out通道后发送msc复位后再重试,其他错误直接msc复位重试
若有data,出现stall则解禁相关bulk通道,进入csw阶段;其他错误直接msc复位重试
接收csw,基本同cbw
看上去这样做可以工作

当我发送scsi命令 Test Unit Ready时,通常这第一个命令可以完成,但是bcswstatus值常为1,也就是命令错误了,我就重新开始发送Test Unit Ready(因为bot正常完成,不需要msc复位)

很遗憾,之后的每次bot传输都是在发送cbw时正常,csw超时,设为5s都超时,请问这是为什么
IJK 发表于 2013-8-29 14:49 | 显示全部楼层
自己从头写?
其实没必要,可以从ST提供的主机u盘程序开始,自己根据需要改改就行了。

评分

参与人数 1威望 +3 收起 理由
myxiaonia + 3 赞一个!

查看全部评分

 楼主| myxiaonia 发表于 2013-8-29 15:49 | 显示全部楼层
就是按照库边看边改,中间很多不顺,到这一步又停下来
请问你有什么高招不
 楼主| myxiaonia 发表于 2013-9-3 16:24 | 显示全部楼层
bulk端点启动后 数据翻转位就自动控制了 我之前还以为是和控制通道那样每次事务配置
zeluo 发表于 2013-9-3 19:37 | 显示全部楼层
这个   在官网上找找技术例程   应该不需要从头开始干   这样   不是太了吗
 楼主| myxiaonia 发表于 2013-9-5 11:09 | 显示全部楼层
zeluo 发表于 2013-9-3 19:37
这个   在官网上找找技术例程   应该不需要从头开始干   这样   不是太了吗

事实上我直接把官网那个例程改成我的开发板可以用的,而且还改成寄存器操作,不使用外设库的

我现在做的是连主机库也不用了

我这也算是学习usb,而不仅仅是在移植
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:只灌水,不技术

18

主题

499

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:只灌水,不技术

18

主题

499

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部