[font=新宋體][size=4]1,按照例子中的方法:
strcpy( (char *)mCmdParam.Create.mPathName, "TEST.TXT" ); CH375FileCreate( ); pCodeStr = (UINT8 *)"TEST........"; while( 1 ) { for ( i=0; i c = *pCodeStr; mCmdParam.ByteWrite.mByteBuffer[i] = c; if ( c == 0 ) break; pCodeStr++; } if ( i == 0 ) break; mCmdParam.ByteWrite.mByteCount = i; i = CH375ByteWrite( ); } mCmdParam.Close.mUpdateLen = 1; CH375FileClose( );
如果這一句:pCodeStr = (UINT8 *)"TEST........"; 中字符串比較長(zhǎng),就會(huì)出現(xiàn)錯(cuò)誤,這是因?yàn)镸16的RAM空間不夠?qū)е碌膯?那么我想用字節(jié)方式寫入比較長(zhǎng)的數(shù)據(jù)應(yīng)如何實(shí)現(xiàn)最好?
2,我先用CH375ByteRead();讀出某文件的數(shù)據(jù),再在新建文件的時(shí)候把讀出的數(shù)據(jù)賦給ByteWrite的緩沖區(qū),然后把數(shù)據(jù)寫入新建的文件,這樣也會(huì)出錯(cuò),是因?yàn)槲业拇疟P數(shù)據(jù)緩沖區(qū)太小嗎?我設(shè)置的磁盤數(shù)據(jù)緩沖去為512,要是我用RAM大點(diǎn)的單片機(jī),把磁盤數(shù)據(jù)緩沖區(qū)設(shè)置大些,那么還是用這種方法會(huì)有問題嗎?
3,#if DISK_BASE_BUF_LEN == 0 pDISK_BASE_BUF = &my_buffer[0];
/* 不在.H文件中定義CH375的專用緩沖區(qū),而是用緩沖區(qū)指針指向其它應(yīng)用程序的緩沖區(qū)便于合用以節(jié)約RAM */
#endif
這個(gè)具體怎么用啊,我的理解是自己在應(yīng)用程序中先聲明DISK_BASE_BUF_LEN == 0 然后定義my_buffer[],可試過是不行的!
[/size][/font]