This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3200:什么是 enum _slFsFileOpenMaxSizeGran e?

Guru**** 2557660 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/567345/cc3200-what-is-this-enum-_slfsfileopenmaxsizegran_e

器件型号:CC3200

您好!

我正在尝试了解 SL 文件系统。 我想使用选项_FS_MODE_OPEN_WRITE_CREE_IF_NOT 存在。

因此、我认为我应该使用该模式 _FS_MODE (Access、SizeGran、Size、Flags)  

在访问中、我将写入 _FS_MODE_OPEN_WRITE_CREATE _IF_NOT 存在、但 sizeGran 和 size 会怎么样?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    罗德里戈、您好!

    该枚举有点令人困惑。 如果您在 fs.h 中看一看、顶部的定义中有一个宏:

    /* sl_FsOpen 选项*/
    * Open for Read */
    #define FS_MODE_OPEN_READ _FS_MODE (_FS_MODE_OPEN_READ、0、0)
    /* Open for Write (如果存在文件)*/
    #define FS_MODE_OPEN_WRITE _fs_mode (_fs_mode_open_write、0、0、0)
    /*打开以创建新文件*/
    #define FS_MODE_open_create (maxSizeInBytes、accessModeFlags)_sl_GetCreateFsMode (maxSizeInBytes、accessModeFlags) 

    在 fs.c 中,可以看到_sl_GetCreateFsMode() 返回:

    返回_FS_MODE (_FS_MODE_OPEN_WRITE_CREE_IF_NOT_Fist、granIdx、granNum、accessFlags); 

    枚举和定义名称实际上略有不同、前面添加了下划线。 因此 fs_mode_open_create 本质上是_fs_mode_open_write_create_if_not _exists、但它为您完成了一些 sl_FsOpen()所需的预处理。

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答、它解释了很多。

    但是、现在我想知道如何判断我是创建文件还是打开现有文件? 我始终将 SL_FS_OK 作为评估、并且从不存在 SL_FS_ERR_FILE_VALLETED_EXISTS

    再次感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    罗德里戈、您好!

    创建已存在的文件会返回错误。 您是否未看到该行为? 请测试您是否覆盖现有文件并发布您看到的结果。 (创建一个文件、对其执行写操作、将其关闭、然后尝试重新创建并读取它。)

    此致、
    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没关系。 我已经更改了程序的行为以解决该问题。 我无法再进行任何测试。
    非常感谢!