CH375B新建多文件失敗

我做實(shí)驗(yàn)時(shí),U盤成功建立文件“DATA103.TXT”并順利寫入數(shù)據(jù), 然后我在程序中把要新建的文件名改為“DATA123.TXT”,重新建立文件并寫入數(shù)據(jù), 結(jié)果在電腦上一查看,U盤上只有文件DATA123.TXT,原來的DATA103.TXT就不見了。 疑惑。。。。。,是不是文件DATA103.TXT被程序刪除了啊,理論上這是兩個(gè)不同的文件,執(zhí)行CH375FileCreate( )不應(yīng)該刪除后再新建啊。。。。。

我想建立多個(gè)文件,比如DATA103.TXT,DATA104.TXT,DATA105.TXT。。。。。,應(yīng)該如何操作呢,大家知道的幫忙指導(dǎo)一下,謝謝了。。。。

文件名不同,肯定是不會(huì)刪除的,可能是你的創(chuàng)建流程有問題,把這部分程序貼出來看看


謝謝SCM,主程序如下:

void main( ) { UINT8 i; UINT8 *pCodeStr; init_clk( ); CH375_PORT_INIT( ); LED_OUT_INIT( ); LED_OUT_ACT( ); /* 開機(jī)后LED亮一下以示工作 */ mDelaymS( 100 ); /* 延時(shí)100毫秒 */ LED_OUT_INACT( );

#if DISK_BASE_BUF_LEN == 0 pDISK_BASE_BUF = &my_buffer[0]; /* 不在.H文件中定義CH375的專用緩沖區(qū),而是用緩沖區(qū)指針指向其它應(yīng)用程序的緩沖區(qū)便于合用以節(jié)約RAM */ #endif

i = CH375LibInit( ); /* 初始化CH375程序庫(kù)和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它電路初始化 */

while ( 1 ) { while ( CH375DiskStatus != DISK_CONNECT ) xQueryInterrupt( ); /* 查詢CH375中斷并更新中斷狀態(tài),等待U盤插入 */ LED_OUT_ACT( ); /* LED亮 */ mDelaymS( 200 ); /* 延時(shí),可選操作,有的USB存儲(chǔ)器需要幾十毫秒的延時(shí) */

/* 檢查U盤是否準(zhǔn)備好,有些U盤不需要這一步,但是某些U盤必須要執(zhí)行這一步才能工作 */ for ( i = 0; i < 5; i ++ ) { /* 有的U盤總是返回未準(zhǔn)備好,不過可以被忽略 */ mDelaymS( 100 ); printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查詢磁盤是否準(zhǔn)備好 */ } #if DISK_BASE_BUF_LEN if ( DISK_BASE_BUF_LEN < CH375vSectorSize ) { /* 檢查磁盤數(shù)據(jù)緩沖區(qū)是否足夠大,CH375vSectorSize是U盤的實(shí)際扇區(qū)大小 */ while ( CH375DiskConnect( ) == ERR_SUCCESS ) mDelaymS( 100 ); continue; } #endif

#ifdef EN_DISK_WRITE /* 子程序庫(kù)支持寫操作 */ /* 產(chǎn)生新文件 */ strcpy( (char *)mCmdParam.Create.mPathName, "/DATA103.TXT" ); /* 新文件名,在根目錄下,中文文件名 */ i = CH375FileCreate( ); /* 新建文件并打開,如果文件已經(jīng)存在則先刪除后再新建 */ mStopIfError( i ); printf( "Write\n" ); pCodeStr = "Note: \xd\xa這個(gè)程序是以字節(jié)為單位進(jìn)行U盤文件讀寫,單片機(jī)只需要有600字節(jié)的RAM\xd\xa"; while( 1 ) { /* 分多次寫入文件數(shù)據(jù) */ for ( i=0; i c = *pCodeStr; mCmdParam.ByteWrite.mByteBuffer[i] = c; if ( c == 0 ) break; /* 源字符串結(jié)束 */ pCodeStr++; } if ( i == 0 ) break; /* 源字符串結(jié)束,完成寫文件 */ mCmdParam.ByteWrite.mByteCount = i; /* 寫入數(shù)據(jù)的字符數(shù),單次讀寫的長(zhǎng)度不能超過MAX_BYTE_IO,第二次調(diào)用時(shí)接著剛才的向后寫 */ i = CH375ByteWrite( ); /* 向文件寫入數(shù)據(jù) */ mStopIfError( i ); }

while ( CH375DiskStatus != DISK_DISCONNECT ) xQueryInterrupt( ); /* 查詢CH375中斷并更新中斷狀態(tài),等待U盤拔出 */ LED_OUT_INACT( ); /* LED滅 */ mDelaymS( 200 ); i = FILE_DATA_BUF[0]; /* 因?yàn)槭且宰止?jié)為單位讀寫文件,未用到文件數(shù)據(jù)緩沖區(qū),為了防止編譯器優(yōu)化掉該緩沖區(qū)而用一下緩沖區(qū) */ } }

程序用的是msp430的例子,現(xiàn)在只用了其中的創(chuàng)建文件并寫數(shù)據(jù)的這一塊。。。。


你在寫文件結(jié)束后,還需要更新文件長(zhǎng)度并且要將文件關(guān)閉。


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

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