以下二個(gè)函數(shù)是你們提供在DOS下檢測(cè)U盤是否在線的例子我想問(wèn)的是 1: status = CH375ReadReg( 0x20 )這個(gè)函數(shù)傳入0X20這個(gè)寄存器地址是一定要0X20還是別的值也可以的 2:第二個(gè)函數(shù)的檢測(cè)方式我如果不是用在DOS系統(tǒng)下比如沒(méi)有操作系統(tǒng)的環(huán)境中是否也同樣適用?
/* 讀CH375寄存器 */ unsigned char CH375ReadReg( unsigned char RegAddr ) { unsigned char d; /* disable( ); 如果可能會(huì)在中斷服務(wù)程序中讀寫U盤數(shù)據(jù),那么必須關(guān)閉中斷 */ CH375WriteCmd( 0x0A ); /* 寫命令口 */ CH375WriteData( RegAddr ); /* 寫數(shù)據(jù)口 */ d = CH375ReadData( ); /* 讀數(shù)據(jù)口 */ /* enable( ); 恢復(fù)中斷 */ return( d ); }
/* 用途: 在DOS系統(tǒng)中檢查CH375連接的U盤是否在線 輸入: PortBaseAddr 為CH375EDM的I/O基址, 如果是PCI總線, 那么參考CH365DOS.C獲取I/O基址 輸出: 0 說(shuō)明U盤已經(jīng)斷開(kāi), 1 說(shuō)明U盤已經(jīng)連接 */ unsigned char IsDiskOnLine( void ) { unsigned char status; status = CH375ReadReg( 0x20 ); return( ( status & 0x20 ) ? 1 : 0 ); /* 判斷CH375內(nèi)部寄存器的狀態(tài) */ }