ZHCU938C May 2018 – January 2021 CC3100 , CC3100MOD , CC3200 , CC3200MOD
此操作用于创建一个新文件。根据创建请求,器件会检查串行闪存上的可用空间。未能为新文件分配空间会生成错误。此外,创建一个已经存在的文件也会生成错误。
_i32 sl_FsOpen (_u8 *pFileName,
_u32 AccessModeAndMaxSize,
_u32 *pToken,
_i32 *pFileHandle);
类型 | 参数 | 输入/输出 | 说明 |
---|---|---|---|
_u8* | pFileName | 输入 | 指向目标文件名的指针。以 NULL 结尾 |
_u32 | AccessModeAndMaxSize | 输入 | 大小和标志如下所述 |
_u32* | pToken | In | 保留以供将来在安全文件系统中使用。应为 NULL |
_i32* | pFileHandle | 输出 | 所创建文件的句柄(如果返回 success) |
可以使用以下 MACRO 来配置 AccessModeAndMaxSize:
FS_MODE_OPEN_CREATE(maxSizeInBytes,accessModeFlags)
(((x*4096)- 512) % 粒度) * 粒度,其中 x 是整数,并且支持的粒度为 {256, 1024, 4096, 16384, 65536}
成功时,返回 0。出错时,返回错误代码。
_u8 DeviceFileName[] = "MyFile.txt";
_u32 MaxSize = 63 * 1024;
_i32 DeviceFileHandle = -1;
_i32 RetVal;
RetVal = sl_FsOpen(DeviceFileName,
FS_MODE_OPEN_CREATE(MaxSize , _FS_FILE_OPEN_FLAG_COMMIT ),
NULL,
&DeviceFileHandle);
RetVal = sl_FsClose(DeviceFileHandle,
NULL,
NULL,
NULL );