[求助]調(diào)試CH375,總是返回0x1f

我的程序如下: int main() { UINT8 i, c, SecCount; UINT16 NewSize, count; /* 因?yàn)镽AM容量有限,所以NewSize限制為16位,實(shí)際上如果文件較大,應(yīng)該分幾次讀寫并且將NewSize改為UINT32以便累計(jì) */ UINT8 *pCodeStr;

CH375_PORT_INIT( ); LED_OUT_INIT( ); LED_OUT_ACT( ); /* 開機(jī)后LED亮一下以示工作 */ mDelaymS( 100 ); /* 延時(shí)100毫秒 */ LED_OUT_INACT( ); mInitSTDIO( ); /* 為了讓計(jì)算機(jī)通過串口監(jiān)控演示過程 */ printf( "Start\n" ); CH375_Hard_Reset(); i = CH375LibInit( ); /* 初始化CH375程序庫和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它電路初始化 */

while ( 1 ) { printf( "Wait Udisk\n" ); // while ( CH375DiskStatus != DISK_CONNECT ) xQueryInterrupt( ); /* 查詢CH375中斷并更新中斷狀態(tài),等待U盤插入 */ while ( CH375DiskStatus < DISK_CONNECT ) { /* 查詢CH375中斷并更新中斷狀態(tài),等待U盤插入 */ if ( CH375DiskConnect( ) == ERR_SUCCESS ) break; /* 有設(shè)備連接則返回成功,CH375DiskConnect同時(shí)會更新全局變量CH375DiskStatus */ mDelaymS( 100 ); } LED_OUT_ACT( ); /* LED亮 */ mDelaymS( 200 ); /* 延時(shí),可選操作,有的USB存儲器需要幾十毫秒的延時(shí) */

/* 檢查U盤是否準(zhǔn)備好,有些U盤不需要這一步,但是某些U盤必須要執(zhí)行這一步才能工作 */ for ( i = 0; i < 10; i ++ ) { /* 有的U盤總是返回未準(zhǔn)備好,不過可以被忽略 */ mDelaymS( 100 ); printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查詢磁盤是否準(zhǔn)備好 */ }

/* 查詢磁盤物理容量 */ printf( "DiskSize\n" ); i = CH375DiskSize( ); mStopIfError( i ); // printf( "TotalSize = %d MB \n", (unsigned int)( mCmdParam.DiskSize.mDiskSizeSec >> 11 ) ); 顯示為以MB為單位的容量

/* 讀取原文件 */ printf( "Open\n" ); strcpy( (char *)mCmdParam.Open.mPathName, "\\C51\\CH375HFT.C" ); /* 文件名,該文件在C51子目錄下 */ i = CH375FileOpen( ); /* 打開文件 */ if ( i == ERR_MISS_DIR || i == ERR_MISS_FILE ) { …… ……

調(diào)試時(shí),初始化通過了,通過程序CH375DiskConnect( )也檢測到了U盤已插入,但是往下進(jìn)行,不論是執(zhí)行子函數(shù)CH375DiskSize( )或者 CH375DiskReady( )或者CH375FileOpen( ),子函數(shù)總是返回0x1f,宏定義中說0x1f表示“ USB存儲器操作失敗,在初始化時(shí)可能是USB存儲器不支持,在讀寫操作中可能是磁盤損壞或者已經(jīng)斷開”,本身是在運(yùn)行中,U盤也插上了。請教諸位,有可能是什么問題呢?或者我應(yīng)該是這怎么調(diào)一下呢?急,謝謝?。?!

(1)DISK_BASE_BUF是否正常?對它進(jìn)行讀寫,測試寫入的數(shù)據(jù)與讀出的數(shù)據(jù)是否一致 (2)如果是模擬總線時(shí)序,接口子程序中延時(shí)是否過長


我的程序又不回復(fù)0x1f了,改為0x28了!昨天下午調(diào)試的時(shí)候程序通過了,也找到了文件,打開并讀入了數(shù)據(jù),并新建了文件,寫入了新建的文件。但是今天一調(diào),又回復(fù) 0x28了,不論是執(zhí)行子函數(shù)CH375DiskSize( )或者 CH375DiskReady( )或者CH375FileOpen( ),子函數(shù)總是返回0x28。什么原因呢?急,謝謝?。?! 補(bǔ)充:我是采用總線方式,延時(shí)2us夠嗎?


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频