程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 基於OHCI的USB主機 —— UFI寫扇區代碼

基於OHCI的USB主機 —— UFI寫扇區代碼

編輯:關於C語言

/**  * 寫磁盤扇區命令  * @param sect 物理扇區號  * @param *buf 數據緩沖區指針  * @return 0 - 成功  */ short ufiWriteSect(DWORD sect, BYTE *buf) {     WRITE_10 *write10;     CBW *cbw;       //設置Bulk-Only協議參數     cbw = &ufiCmdRunning.cbw;     cbw->dCBW_Signature = CBW_SIGNATURE;     cbw->dCBW_Tag = 0x60a624de;     cbw->dCBW_DataXferLen = 512;     cbw->bCBW_Flag=0x00;     cbw->bCBW_LUN=0;     cbw->bCBW_CDBLen = 16;//sizeof(CDB_RBC);       //設置UFI命令參數     write10 = &(cbw->cdbRBC.ufiWrite10);     write10->OperationCode = 0x2A;     write10->LBA_0 = byteInInt(sect, 0);     write10->LBA_1 = byteInInt(sect, 1);     write10->LBA_2 = byteInInt(sect, 2);     write10->LBA_3 = byteInInt(sect, 3);     write10->XferLen_0 = 0x01;     write10->XferLen_1 = 0x00;       //設置狀態掃描函數所需要的參數     ufiCmdRunning.funUfiCmd = bulkWrite;     ufiCmdRunning.pBuf = buf;     ufiCmdRunning.state = UFI_STATE_BEGIN;       //通過Bulk端口發送寫命令     bulkWrite((unsigned char *)&ufiCmdRunning.cbw, buf, (unsigned char *)&ufiCmdRunning.csw);       return 0; }

本文出自 “rainman” 博客,請務必保留此出處http://lancelot.blog.51cto.com/393579/317095

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved