CH376T怎么关闭文件呢?

最近需要用到CH376T往U盘里面存储测试log,每一条log有存储内容有9个细项,都是依次实时写入U盘的。出于延长U盘寿命的考虑,每一条log全部写完后Close_file的时候才允许更新文件长度。但是发现这样压根写不进去,只有在写入每一细项时允许更新文件长度才能按照预想的存入log。哪位版主或者高手能不能点拨一下。写文件的函数如下: /******************************************************************************* * 函 数 名 : Write_file * 描 述 : 向根目录下指定文件中写入数据,若文件存在则跳到文件末尾写入数据;若文件不存在,则创建新文件然后写入数据 * 输 入 : 字符数组,数组长度,更新与否 * 返 回 : 完成状况 *******************************************************************************/ int Write_file(PUINT8 buf, UINT16 ReqCount, UINT8 Update) { UINT8 TarName[64]; u8 s,t; strcpy( (char *)TarName, "\\TESTLOG.TXT" ); /* 目标文件名 */ s= CH376FileOpenPath( TarName ); if (s==ERR_MISS_FILE) s = CH376FileCreatePath( TarName ); /* 新建多级目录下的文件 */ else s=CH376ByteLocate(0xFFFFFFFF); //strcpy((char *)buf,"abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"); s = CH376ByteWrite(buf, ReqCount, NULL ); t = CH376FileClose(Update); return(s); }

/****************************************************************************/

我们CH376是支持连续写入的,具体流程是你每次写完之后,偏移到下次要写的位置,你不需要重新打开,最后写完之后再关闭文件更新文件长度。


回Zbin,好像不行喔,下面两句缺一不可。 s= CH376FileOpenPath( TarName ); s = CH376FileClose(TRUE); 每写一次这两个函数都必须一前一后执行一次,难道是我给芯片复位了?


确定复位信号没有动作,CS有跳变,应该不会有什么影响吧!


1楼的流程是验证过,可以连续读写的。CS是片选信号写的过程是低电平写完可以是高电平,应该不会有影响。


只有登录才能回复,可以选择微信账号登录