我根据DEMO程序已经可以写入一定字节的数据了,但是对于大数据量的,比如1M的该如何写?不知能否提供一点思路和解决方法,谢谢
请问mCmdParam.Write.mSectorCount = SecCount; /* 写入所有扇区的数据 */这是DEMO程序中的一句,我想请问,在我的缓冲区为512字节的情况下,也就是#define FILE_DATA_BUF_LEN 0x0200 /* 外部RAM的文件数据缓冲区,缓冲区长度不小于一次读写的数据长度 */使用默认的定义,那么假如我需要写入64KB个字节的数据我该如何使用?SecCount=64KB/512B吗? 还有就是在CH375HF。PDF的第5页上有这么一段 5.2.7 新建文件 ⑴ CH375FileCreate,新建文件 ⑵ 多次CH375FileWrite 或CH375ByteWrite,写入数据 ⑶ 如果是追加数据导致文件长度增大,那么需要参考修改文件长度的几种方法 ⑷ CH375FileClose,关闭文件,如果是字节模式,将自动更新文件长度 这里的多次写入CH375FileWrite是怎么写的?谢谢
1.总的扇区数为TotalCount=64KB/512B; 你每次只能写入 SecCount=FILE_DATA_BUF_LEN /512; 要想速度快些你可以将缓冲区开大些 2.当写入大文件时,可以循环写. while ( TotalCount ) { mCmdParam.Write.mSectorCount = SecCount; 指定写入的扇区数
CH375FileWrite(); 写完后文件指针自动后移处理数据 TotalCount-=mCmdParam.Write.mSectorCount; if(mCmdParam.Write.mSectorCount}
好的,谢谢,我先试试
楼主,你的初始化返回0X81的问题是怎么解决的,我现在初始化返回值也是81,麻烦介绍以下解决办法,谢谢 我的邮箱:个人信息保护,已隐藏
首先是看硬件电路有没有连接错误,然后就是读写程序的端口设置以及#define CH375_INT_WIRE ( PINE & 0x40 )这个地方的修改,我初始化返回值为0x81的主要原因就是这里的中断信号线没有修改
请教 我今天调试了CH375打开文件的程序,我只修改了以下这个地方 strcpy( (char *)mCmdParam.Open.mPathName, "\\C51\\CH375HFT.C" ); 只是将CH375HFT。C修改成AA。TXT,它就找不到文件了,请问是为什么?
那你U盘中的AA.TXT是不是在C51目录下呢
是的,路径是对的,所以很是郁闷啦 我甚至是这样做的,将ch375hft.c直接重命名为aa.txt,就找不到了
重新命名后的文件名必须是大写的格式,你看一下返回的是什么错误代码。
是因为大小写的问题,需要将程序里的文件名大写。与U盘里的文件名大小写无关 谢谢解答
我的测试命令通过了,为什么还是返回0x81