3

我开始使用 stm32l0 板,在我使用一些更有趣的功能之前它很好。我从未从 Windows 中读取 SD 卡,我找到了 Pins 链接并开始阅读有关 SPI 的信息,这可能是我们项目的合适解决方案(我认为)。

但问题在于编程部分,我发现的每个教程都跳过了基础知识。我使用 STM32CubeMX 生成带有 HAL 和 FATFS 的代码,但我不知道如何初始化然后使用我的 SD 卡。我尝试粘贴我找到的代码,但那时我无法调试它,而且仅仅粘贴某人的代码是没有意义的。

感谢和抱歉我的语法,

编辑:我在这篇文章之后来到这里:链接 我现在正在尝试使用 stm32l0 控制器访问 SD 卡。有人建议我使用 FATFS 来读取设备,但我的理解是该库需要一种访问数据的方法:SPI。我在 STM32CubeMX 中选择了 FATFS 和 SPI2,并在 Eclipse 中导入了项目(我使用的是 HAL 和 SW4STM32)。在引脚描述中,我在 CubeMX 中看到了 MISO、CK、MOSI,它们位于引脚 PB12、PB13、PB14 上。但在主文件中,这些引脚从未使用过。
在我提到的帖子中,另一件事让我感到害怕:SD 卡需要以一种从未听说过的方式进行初始化。
我不知道你是否需要 SPI_Init 和 GPIO_Init 函数,如果你需要我会编辑这个消息。
无论如何我早上都会编辑,因为帖子一定很混乱,我的大脑在燃烧,对不起。询问您是否需要任何精确度。谢谢 !

4

2 回答 2

2

如果您使用 CubeMx 并配置 SPI 访问 SD 卡,则在您的代码中自动配置引脚。查看生成的 main.c 中前几个函数的定义/实现。

如果您对 STM32 及其 HAL 驱动程序没有任何经验,请首先尝试了解这些东西是如何叠加的。

最快的方法是尝试一个例子。

您所有的 CubeMx 固件库都位于

C:/Users/用户名/STM32Cube/Repository/STM32Cube_FW_XX

转到 Projects>Examples 文件夹(可能不准确 - 但路径相似),您将找到示例。

于 2017-02-20T21:01:05.987 回答
0

对于其他面临这个问题的人,只需选择 CubeMX 中定义的用户并使用 kiwih 的驱动程序。他们非常好并且有据可查!

https://github.com/kiwih/cubemx-mmc-sd-card

于 2018-11-22T20:49:29.367 回答