阅读:1701回复:5
单片机读写U盘成功----只差一点点
我在开发一个读写U盘的嵌入式系统,各种请求信息都获取正常,但在READ(10)CBW--DATA IN--(NAK?)--CSW时,在DATA IN中的IN PID后一直回答是NAK,为什么?是不是在读写前还有什么操作或者是时延问题?(INTERFACE=[08,06,50],BULK-ONLY方式)警请各位指教12!!
CBW―READ DB 55H,53H,42H,43H,28H,0E8H,31H,0FEH DB 00H,02H,00H,00H,80H,00H,0AH,28H DB 00H,00H,00H,00H,00H,00H,00H,01H DB 00H,00H,00H,00H,00H,00H,00H DATA IN NAK?????????? 我用的是:MSP430+SL811(HOST)+U盘 [编辑 - 6/17/03 by mhxsoft] |
|
沙发#
发布于:2003-06-17 20:43
“各种请求信息都获取正常”
那你一共实现了几个SCSI2的命令呀? inquiry,write(10),read capacity都实现了吗? |
|
板凳#
发布于:2003-06-17 22:31
设备忙,继续发读取命令。
|
|
地板#
发布于:2003-06-18 07:57
每一个SCSI2的命令都是这样!!!
我一直发送还是NAK!!! 我又发现一个问题:GET MAX LUN返回的应该是00H,为什么我的返回是50H呢??? 我知道了,我先RESET,后GET MAX LUN,没有返回,50H是以前的值。 请问这两个请求什么时候用到??? [编辑 - 6/18/03 by mhxsoft] |
|
地下室#
发布于:2003-06-18 13:35
兄弟:
没错,我帮你试了一下,可以读到数据。 你是不是搞错endpoint了,endpoint 2 是 out,endpoint 1是in,我用的是朗科的u盘,你可以查一下你的every endpoint is in or out? 你是哪个学校的,我是西电的,让我们来共同研究。 你定义的 DB 55 53 42 43 我知道是dCBWSignature ,但我不知道什么含义, 在我收到的 CSW 中 是 55 53 42 53,兄弟你有 CBW,CSW 的资料吗? 发我一份,谢了! 我那儿有 硬盘引导扇区和文件格式的资料,我们可以相互交流。 e-mail: zhanghua@isinstruments.com |
|
5楼#
发布于:2003-06-19 10:55
每一个SCSI2的命令都是这样!!! 1. 我使用过很多u盘,不是所有的都支持get max lun这些命令的! 2. 每种优盘的ep定义都不同要注意! |
|