LPC2292+374T, 昨天問(wèn)過(guò)了,你們說(shuō)如果沒(méi)有寫(xiě)保護(hù)功能的盤(pán),如果程序里面有檢測(cè)寫(xiě)保護(hù)的程序,會(huì)返回0X1F,而我的現(xiàn)象是一直在mStatus = CH374BulkOnlyCmd( ); 這里循環(huán),有時(shí)能返回0X2E, 對(duì)于有寫(xiě)保護(hù)功能的盤(pán)一切正常,

我剛把/* BOC */ typedef union _BULK_ONLY_CMD { struct { /* UINT32 mCBW_Sig;*/ /* UINT32 mCBW_Tag;*/ UINT8 mCBW_DataLen0; /* 輸入: 數(shù)據(jù)傳輸長(zhǎng)度,有效值是0到65535 */ UINT8 mCBW_DataLen1; UINT16 mCBW_DataLen2; UINT8 mCBW_Flag; /* 輸入: 傳輸方向等標(biāo)志 */ UINT8 mCBW_LUN; UINT8 mCBW_CB_Len; /* 輸入: 命令塊的長(zhǎng)度,有效值是1到16 */ UINT8 mCBW_CB_Buf[10]; /* 輸入: 命令塊,該緩沖區(qū)最多為16個(gè)字節(jié) */ } mCBW; /* BulkOnly協(xié)議的命令塊, 輸入CBW結(jié)構(gòu) */ struct { UINT32 mCSW_Sig; UINT32 mCSW_Tag; UINT32 mCSW_Residue; /* 返回: 剩余數(shù)據(jù)長(zhǎng)度 */ UINT8 mCSW_Status; /* 返回: 命令執(zhí)行結(jié)果狀態(tài) */ UINT8 mReserved; } mCSW; /* BulkOnly協(xié)議的命令狀態(tài)塊, 輸出CSW結(jié)構(gòu) */ } BULK_ONLY_CMD; /* CMD_BulkOnlyCmd, 執(zhí)行基于BulkOnly協(xié)議的命令, 如果有數(shù)據(jù)傳輸那么數(shù)據(jù)在pDISK_BASE_BUF中 */

/* UINT32 mCBW_Sig;*/ /* UINT32 mCBW_Tag;*/ 這兩個(gè)任一個(gè)屏蔽去掉后,沒(méi)有帶U盤(pán)寫(xiě)保護(hù)功能盤(pán)能返回0X1F了,但帶有U盤(pán)寫(xiě)保護(hù)的就不行了,出現(xiàn)在情況和原來(lái)沒(méi)有去掉屏蔽時(shí)不帶U盤(pán)寫(xiě)保護(hù)的現(xiàn)象一樣 不是白,因?yàn)槲矣腥N類型不帶寫(xiě)保護(hù)的盤(pán),一個(gè)也不能通過(guò),我懷疑是程序有問(wèn)題. 請(qǐng)指點(diǎn)