CH376,提示寫文件成功,實(shí)際沒有寫入,請指導(dǎo)。

void SendOneByteToCh376(Uint08 Data)

{

????USART_ClearFlag(USART1,USART_FLAG_TC);

????USART_SendData(USART1,Data);

????while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);

}


void SendCmdToCh376(Uint08 Cmd)

{

????SendOneByteToCh376(0x57);

????SendOneByteToCh376(0xAB);

????SendOneByteToCh376(Cmd);

}


Uint16 WriteReqDataBlock(Uint08 *Buf)

{

????Uint16 BlockLen,BlockLenBak;

????SendCmdToCh376(WriteReqData);

????BlockLenBak=BlockLen=GetCh376IntStatus();

????if(BlockLen)

????{

????????do

????????{

????????//??SendOneByteToCh376(*Buf++);

????????????SendOneByteToCh376('1');

????????}while(--BlockLen);

????}

????return(BlockLenBak);

}


void ByteWriteCh376(Uint08 *Buf,Uint32 Len)

{

????Uint16 BlockLen;

????SendCmdToCh376(Byte_Write);

????SendOneByteToCh376((Uint08)Len);

????SendOneByteToCh376((Uint08)(Len>>8));

????while(1)

????{

????????if(GetCh376IntStatus() == USB_DISK_WRITE)

????????{

????????????BlockLen=WriteReqDataBlock(Buf);

????????????SendCmdToCh376(Byte_Write_Go);

????????????Buf = Buf + BlockLen;

????????}

????????else

????????{

????????????break;

????????}

????}

}

創(chuàng)建文件,打開文件都正常,444個字節(jié)的數(shù)據(jù)要寫入文件;“if(GetCh376IntStatus() == USB_DISK_WRITE)”第一二次都是0x1E,第三次是0x14,“BlockLen=WriteReqDataBlock(Buf);”第一次返回0xFF,第二次返回0xBD,合計也是444字節(jié),這些都顯示向文件寫數(shù)據(jù)是成功的,但是在PC上打開文件看不到寫入的數(shù)據(jù)。請專家指導(dǎo),謝謝!

另:文件的創(chuàng)建時間怎么解決?


請專家指導(dǎo),j_0064.gif


解決了,在數(shù)據(jù)全部寫完后,必須執(zhí)行CloseFile()操作,且允許更新文件長度。



但是為什么有幾個我不希望的字符出現(xiàn)呢?

blob.png


即使是新創(chuàng)建的文件,沒有打開更沒有寫數(shù)據(jù)到文件,文件里也有字符,什么情況??


新創(chuàng)建的文件如果什么都不寫,會有一個字節(jié)長度。下次打開,可以偏移文件指針到文件頭。

修改屬性參考EXAM10。


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

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