来自系统工作台的 stm32 fatfs 库,用于 stm32
Posted
技术标签:
【中文标题】来自系统工作台的 stm32 fatfs 库,用于 stm32【英文标题】:stm32 fatfs library from system workbench for stm32 【发布时间】:2018-05-16 11:06:08 【问题描述】:STM32 有问题。我使用 System Workbench For STM32 并包括我的项目 Hal 和 FatFs(当我创建项目时我选择它)。但是创建项目后出现错误:
说明资源路径位置类型“PPP_OK”未声明(首次使用 在这个 函数) ppp_diskio_template.c /Hal_sd/Middlewares/Third_Party/FatFs/src/drivers 行 98 C/C++问题
我该如何构建它?我想用 FatFs 做一个示例项目,但我无法构建空的 main.c
。
【问题讨论】:
你是用Cube生成项目的吗?您为 FAT FS 选择了哪个目的地? 【参考方案1】:第一种解决方案:如果您使用的是STM32CubeMX或STM32CubeIDE,您应该在Pinout & Configuration > Categories > Middlewares > FATFS
下启用FatFS。 CubeMX 处理其余的,你应该没问题。确保您使用的是最新版本。
第二个解决方案:如果您手动添加 FatFS 文件,请确保将所有 .h
文件添加到包含路径中,如果您的 IDE 是 Eclipse 或 STM32CubeIDE,则位于 Properties > C/C++ General > Paths and Symbols > Includes
中。
第三种解决方案: 另一种可能性是,如果您尝试手动 fork 示例,大多数情况下都会发生这种情况。使用相应文件夹窗口右上角的搜索框在 Windows 资源管理器中的文件夹中搜索未找到的变量,在您的情况下为 PPP_OK
。然后找到声明它的变量。这通常是一个.c
文件,如果是这样,请确保将其添加到您的项目中,同时找到同名的.h
文件并将其位置添加到您的包含路径中,如第二个解决方案中所述。
【讨论】:
【参考方案2】:我看到你提到了ppp_diskio_template.c
。
FatFs 只是一种在存储上组织数据并通过“文件抽象”访问它们的方法。 FatFs 向您显示“文件”,但最后它只是存储在存储中的字节。
diskio 模板是一个文件,其中包含您需要定义的一些函数,以便 FatF 可以读取/写入存储。基本上,当您提供文件时,FatFS 将使用这些函数将数据“作为字节”存储。
PPP_OK
未定义这一事实意味着ppp_diskio_template.h
或ppp_diskio.h
可能不可用,不在正确的位置或未包含在您的项目文件中。
你基本上可以在所有.h
中搜索到你必须看到你需要包含哪一个。
【讨论】:
【参考方案3】:我不认为头文件已添加到您的项目中。
【讨论】:
以上是关于来自系统工作台的 stm32 fatfs 库,用于 stm32的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 STM32F407 上的 Chan FatFs 库通过 SPI 写入 SD 卡文件
STM32的FATFS文件系统 无法建立文件 res返回值不为0,到底是怎么回事