一、stm32cube的配置
基本配置参见之前写的博客 引脚配置如下: 点击FATFS勾选User-defined 在芯片上将PA4引脚选为Output 点击SPI1,mode选项更改 配置晶振 配置工程文件,改变堆栈大小 生成工程,接下来打开工程,修改代码。
二、代码部分
工程下载: STM32cube配置FATFS模式SPI读写SD卡.zip. 根据下载下来的代码,进行修改,如下
char SD_FileName[] = "hello.txt";
uint8_t WriteBuffer[] = "fwy 6319****0704\r\n";
while (1)
{
WritetoSD(WriteBuffer,sizeof(WriteBuffer));
HAL_Delay(500);
write_cnt ++;
while(write_cnt > 5)
{
printf(" while \r\n");
HAL_Delay(500);
}
}
硬件连接:
三、结果展示
编译烧录成功之后得到以下结果:
串口收到数据,其中包括总内存、可使用内存及已使用内存、SD卡初始化成功、挂载成功、文件写入成功等显示。 程序一共写入六次文件,写入完成后将每过0.5秒输出一个while。 打开sd卡,看到里面被写入了内容
四、总结
使用STM32F103完成对SD卡的数据读取其实也比较容易,主要是硬件操作难以出来结果,也需要耐心操作,其中尤其需要注意给sd卡供电要高电压,3.3v的不行,可采用手机充电头给其供电,这样效果很不错,之前一直走歪路,导致做了很久都没做出来。
五、参考
STM32用cube配置FATFS模式下SPI读写SD卡.
|