使用375编程中的3个问题??

在CH375HM使用说明中,有: 1 初始化(除数据流模式的命令外,进行任何一种文件操作之前的必要步骤) ⑴ 初始化单片机与模块之间的接口,设置必要的参数等 ⑵ 等待U 盘连接(中断方式依靠CH375 事件通知,查询方式依靠主动查询) 问题1:在(2)中,使用查询方式时应该使用那个命令进行查询呢?其返回值是什么呢? 我用了CMD_QueryStatus ,然后查询是否等于DISK_READY,正确吗? 2;在使用CMD_FileCreate创建文件,不希望已有文件被删除,那么应该事先发出 CMD_FileOpen命令确认文件不存在后再新建。 问题2:CMD_FileOpen命令在打开不存在的文件时,返回值时什么?是ERR_MISS_FILE 呢还是别的什么? 3:我用的U盘是台电的2G,375支持吗?

1,CMD_QueryStatus命令是查询U盘是否连接,并不代表DISK-READY可以通过,DISK-READY这个命令是初始化U盘 2,打开文件失败的话,应该返回的错误代码是ERR_MISS_FILE,没有别的了 3,对U盘的容量没有限制,关键问题是现在我们模块不支持一个扇区大小大于512字节的U盘,只要是U盘扇区大小为512字节,我们都能支持。


谢谢你的回答,关于第一个问题,我是这样理解的: 我首先查询是否连接 1:unsigned char Query375(void) //查询CH375状态,是否链接 { unsigned char i; i = ExecCommand( CMD_QueryStatus, 0 ); if(i==ERR_SUCCESS) return i; else return mStopIfError(i); } 2 查询是否可用 unsigned char IfUDiskReady(void) { unsigned char i; i = ExecCommand( CMD_DiskReady, 0 ); /* 查询当前模块的状态 */ if(i==ERR_SUCCESS) return i; else return mStopIfError(i); } 如果这两步都OK,是不是表示U盘可以正确读写呢?


这两步通过了,说明模块枚举U盘成功了,可以进行读写操作,除了扇区大小大于512字节的U盘。


请问如果如何确定U盘扇区大小呢,如果扇区大于512能否改为512呢?


如果您的U盘扇区大于512字节,那建议您可以更换一个合适的U盘进行操作!


你好,今天在U盘上成功创建了一个文件data.txt并写入512字节数据如下, for(i=0;i<51;i++) { for(j=0;j<10;j++) DATA_BUF[i*10+j]='A'+j; } DATA_BUF[510]='F'; DATA_BUF[511]='F'; U盘插入PC后也能看到这个文件,但无法打开或删除,并弹一个消息 ,“cannot find the F:\data.txt,do you want to create a new file?”,这个会是什么问题引起的呢?


写操作结束后要更新文件长度,关闭文件


!!!debug得到关闭文件函数返回值为 0x33,该符号头文件无定义,是什么问题啊? 关闭函数如下: unsigned char CloseFile(void) { unsigned char i; mCmdParam.Close.mUpdateLen = 1; //文件大小自动更新 i = ExecCommand( CMD_FileClose, 1 ); /* 关闭文件 */ return i; }


我是在以扇区方式写了512字节的数据后用CLOSEFILE 函数自动更新,不需要加什么文件结尾标记吧


不需要的


谢谢,问题已经解决了


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