阅读:1514回复:8
[求助] SL811应当对优盘返回的NAK做什么处理
我用8051控制811进行读写优盘,可是当我发出SCSI命令(主要是read12和write12)之后优盘经常是返回NAK,不管延时有多少,我都在每次In和Out操作进行了延时,还是不能正常返回。而我进行的其他操作如GetDescrip、设备枚举都没有问题。
我想问一下为什么会出现这种情况,一般不应当很少出现这种返回NAK的现象么?另外,大虾们认为这是在什么地方出了问题。 [编辑 - 4/1/04 by purple.sun] |
|
沙发#
发布于:2004-04-02 11:28
当然
|
|
|
板凳#
发布于:2004-04-02 11:21
我只要分 呵呵
这个办法不好哦 嘿嘿 老挂 兄弟 不要瞎搞 好不好 |
|
|
地板#
发布于:2004-04-02 11:09
我用的就是read10和write10。
对于NAK的处理,我首先在usbxfer函数中进行5次重试。如果不行的话就在DataRW中进行USB设备重启、重新配置、然后重新发送usbxfer命令。 不知道以上过程是否存在问题。是否还需要在Bulk Only层次上进行进一步的处理。 另外,jiangyiyong:那个TOGGLE切换是否需要记录,就是是否需要和上次传输过程的toggle连续。 对于Bulk协议,我只是单纯的发CBW、收数据、然后收CSW。在此期间进行了延时,达到几十个ms。应该延时足够长吧。 |
|
地下室#
发布于:2004-04-02 09:40
一般都是用read10和write10吧,有可能不支持read12和write12.
|
|
|
5楼#
发布于:2004-04-02 08:40
哦 u盘死了 不好意思 写错了
|
|
|
6楼#
发布于:2004-04-02 08:39
嘿嘿 并不是没返回 而是死了
朋友 我的811就没这现象 哈哈 |
|
|
7楼#
发布于:2004-04-02 08:31
NAK不是很容易产生的,仔细检查一下协议,看看TOGGLE是不是对的,一般问题可能会出现在这
|
|
|
8楼#
发布于:2004-04-02 08:29
你有没有试着考虑是BULK协议的问题?
|
|
|