如果可以檢測的話,用哪個函數(shù)或是標(biāo)志標(biāo)識呀
可以,但是需要自己寫函數(shù)來做。初始化磁盤后,發(fā)送寫命令,如果返回的數(shù)據(jù)錯誤,發(fā)送命令查詢錯誤。
我在對有寫保護(hù)的U盤進(jìn)行寫操作時,函數(shù)返回錯誤代碼是0X17,我看頭文件中對0X17的定義是: #define USB_INT_BUF_OVER 0x17 /* USB傳輸?shù)臄?shù)據(jù)有誤或者數(shù)據(jù)太多緩沖區(qū)溢出 */ 這個可不可以認(rèn)為就是U盤寫保護(hù)的標(biāo)志?還是有其他的可能性?
也可以,但是USB傳輸有誤可能的情況會比較多,不僅僅是寫保護(hù)。但是一般只要U盤插在上面也基本沒什么問題。但是標(biāo)準(zhǔn)的方法是發(fā)送CBW,進(jìn)行寫扇區(qū)操作。如果寫保護(hù),肯定會返回STALL,這時候去發(fā)送R_SENSE命令去查詢失敗狀況,在失敗狀態(tài)里就有有一個標(biāo)志是寫保護(hù)。
CH376\EVT\EXAM\EXAM12 是演示檢查U盤是否寫保護(hù)的程序
謝謝了