阅读:2632回复:9
CSW包的末位bCSWStatus的含义是什么?
CSW包的末位bCSWStatus的含义是什么呢?文档上写的是0x00命令成功,0x01命令失败。但我想请教什么情况下会失败呢,该如何解决呢?我用SL811做主机对设备使用Read,结果返回的CSW包的bCSWStatus总是0x01。请各位大侠指教!多谢多谢!
|
|
沙发#
发布于:2005-01-04 10:59
失败有很多种情况,遇到失败的想要得到详细情况,可以再发送 REQUEST_SENSE 得到返回值,再对照命令手册中的错误列表,就知道是什么错误了。
|
|
板凳#
发布于:2005-01-04 14:50
多谢,我去试试看。
|
|
地板#
发布于:2005-01-04 15:24
我刚才去试了,但是另外一个问题使我无法试下去!Read命令和Request_Sense命令都可以单独执行成功,但先用Read命令然后紧接着用Request_Sense命令时,Request_Sense命令就进入了死循环,具体原因是EP0Status始终为0x40,即设备总是返回NAK包。真是太奇怪了!哪位大侠遇到过类似的情况,快来救救我吧,先谢谢了!
|
|
地下室#
发布于:2005-01-04 16:32
EP0Status 是什么东西?
|
|
5楼#
发布于:2005-01-04 17:08
EP0Status是SL811HS的寄存器,偏移地址是0x03。请多指教,谢谢。
|
|
6楼#
发布于:2005-01-05 08:04
嘿嘿,没用过 811 啊。
这个寄存器是表示什么的? |
|
7楼#
发布于:2005-01-05 08:41
这个寄存器指示了上一次发送或接收的包的相关信息。第7位是STALL位,置1时表明设备的相应端点被停止了;第6位是NAK位,置1时表明设备返回了NAK包,表示设备正忙。我就是老是得到NAK位为1,循环等待很久都不行。
|
|
8楼#
发布于:2005-01-05 09:53
哦,好象没有理由会这样啊。
哈哈,不清楚了。 |
|
9楼#
发布于:2005-01-05 11:51
真郁闷,一次只能使用一条命令,但尽管这样还是能从U盘中读取文件内容,不管它了,以后慢慢再调试吧。多谢wdy9927大侠得热心帮助!
|
|