以前復制跟目錄.TXT都可以 現(xiàn)在要復制多級目錄 發(fā)現(xiàn)不能在目的盤根目錄下創(chuàng)建文件夾 也沒有產(chǎn)生錯誤 怎么回事呢 strFileName打印也對 for (i = 0; i < 200; i++ ) /* i 是枚舉序號,可以從0到2147483647 */ { //枚舉根目錄文件夾 s = ch374_FindFile(pCodeStr, i, strFileName); if (s == ERR_MISS_FILE ) {break;} if (s == ERR_FOUND_NAME ) { SaveDisk( SourceDisk ); // 備份源盤變量 RestoreDisk(TargetDisk); // 恢復目的變量 strcpy( mCmdParam.Create.mPathName,strFileName ); ucErr=CreateDirectory( ); StopIfError(ucErr); }
CreateDirectory( )是多級目錄創(chuàng)建的,首先你還是你直接用字符串形式打開看一下是否有問題?如果可以,說明你創(chuàng)建的目錄名有問題。
問題找到了 是都建在源盤上了 怎么回事呢 我是操作目的盤啊
出現(xiàn)錯誤代碼0x1F /* USB存儲器操作失敗 */ 這是為什么呢 我直接在目的盤里建的字符串 if ( SourceDisk != 0xFF && TargetDisk != 0xFF && SourceDisk != TargetDisk ) { // 有兩個U盤 RestoreDisk(TargetDisk); // 恢復目的變量 strcpy( mCmdParam.Create.mPathName,"2013.TXT" ); ucErr=CH374FileCreate(); StopIfError(ucErr); }
你先不要切換U盤創(chuàng)建試一下,如果沒有問題,說明你切換的有問題。如果還出現(xiàn)0x1F,檢查一下USB那一塊接線,不需要添加電容電阻,或者換個U盤試一下。
for (i = 0; i < 200; i++ ) { s = ch374_FindFile("/123/*", i, strFileName_1); if (s == ERR_MISS_FILE ) {printf("file none\n");break;} if (s == ERR_FOUND_NAME ) { printf(strFileName_1); printf("\n"); } } for (ii = 0; ii < 200; ii++ ) { s = ch374_FindFile("/123/13-12-03/*", ii, strFileName_2); if (s == ERR_MISS_FILE ) {printf("file none\n");break;} if (s == ERR_FOUND_NAME ) { printf(strFileName_2); printf("\n"); } } 打印出的信息是: /123/. /123/.. /123/13-12-03 /123/13-11-20 /123/13-11-21 file none /123/13-12-03/. /123/13-12-03/.. /123/13-12-03/14-49.TXT /123/13-12-03/14-50.TXT /123/13-12-03/14-51.TXT file none 為什么枚舉出的前兩個信息最后都是點啊 /. /.. 這是怎么回事啊
這是正?,F(xiàn)象,所有的子目錄下,即使用戶沒有新建過任何目錄和文件,那么在創(chuàng)建該子目錄的時候,系統(tǒng)默認會在該子目錄創(chuàng)建2個隱藏的系統(tǒng)目錄,DOS下俗稱“.”和“..”
謝謝 弄好了
怎么判斷目的盤拔出啊
判斷磁盤拔出和判斷磁盤連接一樣調用CH374DiskConnect即可。
主程序一直查詢目的盤是否插入 當操作完目的盤后返回1 我現(xiàn)在就想當操作完目的盤 必須把目的盤拔掉 才繼續(xù)查詢是否又有目的盤插入 現(xiàn)在這個程序是 目的盤不拔下來也一直查詢 一直對他操作 說明已經(jīng)break了 跳出while(1)了 那要怎么改呢 while(1) { if(Write_TargetDisk()==1) { while(1) { delay_ms(10); /* 沒必要頻繁查詢 */ if (CH374DiskConnect()== ERR_SUCCESS) { break; } } } }
操作完成之后,U盤是插著的,此時檢測磁盤斷開if (CH374DiskConnect()!= ERR_SUCCESS)之后break,說明磁盤拔掉。如果再要檢測磁盤連接調用if (CH374DiskConnect()== ERR_SUCCESS)。
if (CH374DiskConnect()!= ERR_SUCCESS){led=0;break;} 當拔出目的盤后 發(fā)現(xiàn)根本沒進入函數(shù)里 led沒亮啊 后來試一下源盤拔掉后 確實進入函數(shù) break了 怎么才能檢測目的盤呢
源盤和目的盤的檢測應該是一樣的,你是使用CH374U來U盤之間復制嗎?你可以參考一下EXAM15怎么做的?
是的 是CH374U,我又看了一下EXAM15 以前就是按EXAM15改的 但是沒有插拔檢測啊
ZBin真是麻煩你了 這個有解決嗎 有專門程序處理的 還是我程序的問題?