cc3200 flash
时间:10-02
整理:3721RD
点击:
大家好,我使用 文件操作函数:
lRetVal = sl_FsOpen((unsigned char *)USER_FILE_NAME, FS_MODE_OPEN_WRITE, ulToken, lFileHandle);
lRetVal = sl_FsWrite(*lFileHandle, (unsigned int)(i * sizeof(gaucOldMacDonald)), (unsigned char *)gaucOldMacDonald, sizeof(gaucOldMacDonald));
来追加数据的时候发现,上次写入的数据会被擦除掉,这样一来我就无法实现文件的追加了.发生这种情况我的操作步骤是这样的
1. 以写的方式打开文件
2.写入文件
3.关闭文件
4.以读的方式打开文件
5.读取文件(可以读到步骤2写的文件)
6.关闭文件
7.重复1-6;
这样一来就是两次用写的方式来打开文件,TI有提供一些函数来实现文件多次以写的方式打开,然后追加数据吗?
我如果要实现追加有什么办法呢?
有人说将数据读取出来 拼接 然后再重新写入, 有没有更好的方法呢
Kafei 你好,
感谢你的提问,你的操作步骤是正确的。目前,CC3200文件系统APIs尚不支持文件追加功能。
https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/353080
需要把要写入的大文件划分为几个小文件,对小文件进行操作,打开写入关闭操作,注意在写小文件过程中可能会遇到掉电现象,那最后一个写入的文件信息可能会丢失。