使用CH376读写U盘,创建文件后,不进行任何操作,直接关闭文件,文件头部总会有一个字节的数据,调整过驱动延时参数,使用多个U盘(威刚*1,忆捷*1,金士顿*2,闪迪*2,PNY读卡器*1,SSK读卡器*1)测试过,不论如何修改代码,只有威刚的哪一个U盘没有问题,其他U盘都有问题
核心代码如下:
CH376FileCreate((PUINT8)"1.TXT");
CH376FileClose(TRUE);
发现有人遇到过,但是没有解决方案,
http://www.wch.cn/bbs/thread-62916-1.html
请教有人遇到过么,是兼容性不好还是程序BUG,谢了,调了个把周都是这样
/*****************************************************************************************/
仔细看了下,原因已找到,CH376创建的文件默认大小为1,现在的问题是,可否直接通过修改
FAT_DIR_INFO把文件大小修改为0,我已经测试了下面的代码,但是不知是否有隐患,烦请贵公司
技术告知
/* 读取当前文件的目录信息FAT_DIR_INFO,将相关数据调到内存中 */
res = CH376DirInfoRead();
if(res == USB_INT_SUCCESS)
{
/* 文件大小,低8位在前 */
buf[0] = (UINT8)0;
buf[1] = (UINT8)0;
buf[2] = (UINT8)0;
buf[3] = (UINT8)0;
CH376WriteOfsBlock(buf, STRUCT_OFFSET(FAT_DIR_INFO, DIR_FileSize), 4);
/* 保存文件的目录信息 */
res = CH376DirInfoSave();