ch376,在寫(xiě)文件時(shí),可以創(chuàng)建文件,但寫(xiě)不進(jìn)數(shù)據(jù), uint8 CH376ByteWrite( Puint8 buf, uint16 ReqCount, Puint16 RealCount ) /* 以字節(jié)為單位向當(dāng)前位置寫(xiě)入數(shù)據(jù)塊 */ { uint8 s; xWriteCH376Cmd( CMD2H_BYTE_WRITE );//0x3c xWriteCH376Data( (uint8)ReqCount ); xWriteCH376Data( (uint8)(ReqCount>>8) ); // xEndCH376Cmd( ); mDelaymS( 200 ); if ( RealCount ) *RealCount = 0; while ( 1 ) { s = Wait376Interrupt( ); // ----在這里返回 0x14,不是0x1e while (!(MCF_UART_USR(2) & MCF_UART_TX_TEST)); //發(fā)送數(shù)據(jù) MCF_UART_UTB(2) = 0xcd; while (!(MCF_UART_USR(2) & MCF_UART_TX_TEST)); //發(fā)送數(shù)據(jù)USB_INT_DISK_WRITE MCF_UART_UTB(2) = s; if ( s == USB_INT_DISK_WRITE ) { s = CH376WriteReqBlock( buf ); /* 向內(nèi)部指定緩沖區(qū)寫(xiě)入請(qǐng)求的數(shù)據(jù)塊,返回長(zhǎng)度 */ xWriteCH376Cmd( CMD0H_BYTE_WR_GO ); // xEndCH376Cmd( ); buf += s; if ( RealCount ) *RealCount += s; } /* else if ( s == USB_INT_SUCCESS ) return( s );*/ /* 結(jié)束 */ else return( s ); /* 錯(cuò)誤 */ } }[b]文字[/b]
這問(wèn)題沉這么久,沒(méi)人解答,我也遇此
我也遇到這種情況,數(shù)據(jù)寫(xiě)到中途,還沒(méi)有達(dá)到所需要的字節(jié)數(shù),就自動(dòng)結(jié)束了,不知道寫(xiě)數(shù)據(jù)時(shí)發(fā)生生么情況了,提前結(jié)束寫(xiě)數(shù)據(jù)。
樓上的同學(xué)你有根據(jù)你描述的問(wèn)題做過(guò)一些DEBUG測(cè)試嗎?
因?yàn)槟阒唤o我結(jié)論,所以不太好確認(rèn)問(wèn)題所在,如果你至少能寫(xiě)一部分?jǐn)?shù)據(jù)說(shuō)明很大可能問(wèn)題出在軟件代碼上。
如果問(wèn)題還沒(méi)解決,可留言貼出代碼或者電聯(lián)025-52638375
經(jīng)過(guò)測(cè)試發(fā)現(xiàn)寫(xiě)操作過(guò)程中,自動(dòng)移動(dòng)的文件指針超出原文件結(jié)束位置,如何用CMD_BYTE_WRITE指令實(shí)現(xiàn)請(qǐng)求字節(jié)數(shù)為0,來(lái)刷新文件長(zhǎng)度,求指點(diǎn)
CH376TByteWrite(null,? 0,? null)?