阅读:1118回复:0
read10的数据包(原码)
d12的端点2只有64个字节.在read(10)的请求中要求返回8个逻辑块的数据,而每个块有512个字节,共4096个字节.当我传输512个字节是没有问题,但超过512个字节传输4096个时,就出错了,只完成了一半.
平斑竹帮帮忙,谢谢!!!!!!!!!! ^_^ 部分代码: typedef union _CBWCommandBuf { struct _operation{ unsigned char Head[4]; unsigned long tag; unsigned long transferlength; unsigned char datadirection; unsigned char SCSILUN; unsigned char CBW; union _OpenationData{ unsigned char OperationCode; struct _Inquiry{ unsigned char OperationCode; }Inquiry; struct _ModeSense{ unsigned char OperationCode; unsigned char DisableBlockDescriptor; unsigned char PageCode; unsigned char Reserved1; unsigned char ParameterLen; unsigned char Control; }modesense; struct _writeread{ unsigned char OperationCode; unsigned char Reserved1; unsigned long LogicalBlockAddress; unsigned char Reserved2; unsigned int TransferLength; unsigned char Control; }read10,write10; }CommandCode; }OperationData; unsigned char DataBuf[64]; }CBW_COMMANDBUF; typedef union _epp_flags { struct _flags{ unsigned char configuration; unsigned char setup_packet; unsigned char outhead; unsigned char write; unsigned char read; unsigned long LogicalBlockAddress; unsigned long TransferLength; }bits; unsigned long value; }EPPFLAGS; struct{ unsigned char Head[4]; unsigned long tag; unsigned long transferlength; unsigned char datadirection; }CSWsection; CONTROL_XFER ControlData; CBW_COMMANDBUF CbwCommandBuf; EPPFLAGS bEPPflags; unsigned char Databuf[10240]; void USB_submit(void) { unsigned char i; if(ControlData.wLength>ControlData.wCount) ControlData.wLength = ControlData.wCount; sendcommand(ControlData.in); sendcommand(0xf0); senddata(0x00); senddata(ControlData.wLength); printf(\"out: \"); for(i=0;i<ControlData.wLength ;i++) { printf(\"%2x \",*(ControlData.pData)); senddata(*(ControlData.pData++)); } printf(\"\\n\"); ControlData.wCount-=ControlData.wLength; if(ControlData.in == 1)sendcommand(0xf1); sendcommand(0xfa); if(bEPPflags.bits.read) { ControlData.wLength=64; ControlData.wCount=64; ControlData.pData=&Databuf[bEPPflags.bits.LogicalBlockAddress]; bEPPflags.bits.LogicalBlockAddress+=64; bEPPflags.bits.TransferLength--; if(!bEPPflags.bits.TransferLength){ bEPPflags.bits.outhead=1; bEPPflags.bits.read=0; } }else if(bEPPflags.bits.outhead && !ControlData.wCount) { ControlData.wLength = 13; ControlData.wCount = 13; ControlData.pData = (char*)&CSWsection.Head[0]; bEPPflags.bits.outhead=0; } } void CBW_Read10(void){ bEPPflags.bits.LogicalBlockAddress=SWAP32(CbwCommandBuf.OperationData.CommandCode.read10.LogicalBlockAddress)*512; bEPPflags.bits.TransferLength=((unsigned long)SWAP16(CbwCommandBuf.OperationData.CommandCode.read10.TransferLength))*512; bEPPflags.bits.read=1; CreateCSWsection(); if(bEPPflags.bits.TransferLength){ ControlData.wLength=64; ControlData.wCount=64; ControlData.pData=&Databuf[bEPPflags.bits.LogicalBlockAddress]; bEPPflags.bits.LogicalBlockAddress+=64; bEPPflags.bits.TransferLength--; if(!bEPPflags.bits.TransferLength){ bEPPflags.bits.outhead=1; bEPPflags.bits.read=0; } } else{ ControlData.wLength=0; ControlData.wCount=0; bEPPflags.bits.outhead=1; bEPPflags.bits.read=0; } USB_submit(); } 6 DO 55 53 42 43 - 08 c0 eb fe - 00 10 00 00 - 80 00 0c 28 USBC...........( 257ms 108.1.0 00 00 00 00 - 00 00 00 08 - 00 00 00 00 - 00 00 00 ............... 108.1.16 6 DI 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 1.9ms 109.1.0 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.16 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.32 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.48 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.64 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.80 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.96 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.112 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.128 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.144 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.160 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.176 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.192 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.208 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.224 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.240 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.256 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.272 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.288 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.304 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.320 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.336 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.352 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.368 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.384 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.400 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.416 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.432 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.448 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.464 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.480 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.496 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.512 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.528 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.544 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.560 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.576 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.592 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.608 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.624 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.640 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.656 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.672 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.688 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.704 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.720 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.736 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.752 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.768 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.784 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.800 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.816 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.832 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.848 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.864 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.880 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.896 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.912 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.928 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.944 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.960 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.976 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.992 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1008 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1024 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1040 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1056 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1072 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1088 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1104 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1120 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1136 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1152 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1168 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1184 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1200 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1216 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1232 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1248 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1264 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1280 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1296 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1312 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1328 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1344 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1360 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1376 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1392 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1408 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1424 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1440 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1456 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1472 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1488 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1504 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1520 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1536 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1552 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1568 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1584 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1600 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1616 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1632 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1648 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1664 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1680 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1696 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1712 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1728 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1744 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1760 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 109.1.1776 6 USTS 00 00 01 c0 canceled 9.5sc 109.2.0 6 CTL a3 00 00 00 - 02 00 04 00 CLASS 152us 110.1.0 [编辑 - 1/31/03 by nter0] [编辑 - 1/31/03 by nter0] |
|
最新喜欢:![]() |