![](/img/trans.png)
[英]C++ with STM32CubeMX and Eclipse System Workbench for STM32 AC6 tools
[英]stm32 fatfs library from system workbench for stm32
我对STM32有问题。 我使用 System Workbench For STM32 并且我包含我的项目 Hal 和 FatFs(当我创建一个项目时,我选择了它)。 但是创建项目后出现错误:
说明 资源路径位置类型 'PPP_OK' 未声明(首次在该函数中使用) ppp_diskio_template.c /Hal_sd/Middlewares/Third_Party/FatFs/src/drivers line 98 C/C++ 问题
我该如何构建它? 我想用 FatFs 制作一个示例项目,但我无法构建空的main.c
。
我看到你提到了ppp_diskio_template.c
。
FatFs 只是一种在存储上组织数据并通过“文件抽象”访问它们的方法。 FatFs 向您显示“文件”,但最后它只是存储在存储中的字节。
diskio 模板是一个文件,其中包含一些您需要定义的功能,以便 FatFs 可以读/写存储。 基本上,当您提供文件时,FatFS 将使用这些函数将数据“作为字节”存储。
PPP_OK
的事实意味着ppp_diskio_template.h
或ppp_diskio.h
可能不可用,不在正确的位置或未包含在您的项目文件中。
您基本上可以在所有.h
搜索它,看看您需要包含哪一个。
第一种解决方案:如果您使用的是 STM32CubeMX 或 STM32CubeIDE,则应在 Pinout Pinout & Configuration > Categories > Middlewares > FATFS
FATFS 下启用 FatFS。 CubeMX 处理其余的,你应该没问题。 确保您使用的是最新版本。
第二种解决方案:如果您手动添加 FatFS 文件,请确保将所有.h
文件添加到包含路径中,如果您的 IDE 是 Eclipse 或 STM32CubeIDE,则该路径位于Properties > C/C++ General > Paths and Symbols > Includes
。
第三种解决方案:另一种可能性是,如果您尝试手动 fork 一个示例,大多数情况下都会发生这种情况。 使用相应文件夹窗口右上角的搜索框在 Windows 资源管理器中搜索文件夹,以查找未找到的变量,在您的情况下为PPP_OK
。 然后找到声明它的变量。 这通常是一个.c
文件,如果是这样,请确保将其添加到您的项目中,同时找到同名的.h
文件并将其位置添加到您的包含路径中,如第二个解决方案中所述。
我不认为头文件已添加到您的项目中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.