FATFS模块的所有配置项都是存放在ffconf.h里面,可以通过配置里面的一些选项来满足自己的要求。disk.c是硬件层,负责与底层硬件接口适配。 ffconf.h:FATFS关键配置文件 1、_FS_TINY。这个选项在R0.07版本中开始出现,之前的版本都是以独立的C文件出现(FATFS和Tiny FATFS),有了这个选项之后,两者整合在一起了,使用起来...
上面的3.1小节是采用SPI模拟时序驱动SD NAND,STM32本身集成有SPI硬件模块,可以直接利用STM32硬件SPI接口读写。 下面贴出底层的适配代码。 上面贴出的驱动代码里,已经将驱动接口部分和协议逻辑部分区分开了,替换底层的SIP读写代码非常方便。 (1)主要替换的代码 ...
硬件包含: 一块STM32F103ZET6系统板、一个2.8寸TFT电阻触摸显示屏、一个SD卡卡槽(SPI接口)、一张SD卡(存放字库和小说文件)上
MX_DMA_Init(); MX_SDIO_SD_Init(); MX_FATFS_Init(); MX_USB_DEVICE_Init(); // 挂载 retSD = f_mount(&SDFatFS, SDPath, 1); switch(retSD) { case FR_NO_FILESYSTEM: // FM_FAT32 { retSD = f_mkfs(SDPath,FM_FAT32,512,work, sizeof(work)); if(retSD!=FR_OK) { while(1...
1、FATFS文件系统 1.使用开源的FAT文件系统模块,其源代码的获取从官网: 目前最新版本是:ff13a 2.解压后得到两个文件: 其中,documents相当于STM32的固件库使用手册,介绍FATFS系统的函数使用方法,source中则是需要用到的源代码。 因为FATFS使用SD卡,所以FATFS的基础是SD卡的正常读写,这里采用SPI模式。 2、STM32之...
问题:FATFS *fs_obj;这样定义出来的fs_obj是0,也就是说他没有分配内存,从而导致挂载失败。 FATFS *fs_obj这样定义是时,内存分配是动态的,需要自己手动malloc一块内存。 解决:把FATFS *fs_obj改成FATFS fs_obj就可以了,如图二。FATFS fs_obj这样是静态分配内存,内存自动管理,不需要手动申请释放。 图2 通过网...
1 http://cba.si/stuff/fatfs_diskio_sdcard_spi.c 2 3 /* 4 * (c) Domen Puncer, Visionect, d.o.o. 5 * BSD License 6 * 7 * v0.2 add support for SDHC 8 */
STM32之FATFSC件系统SPI方式笔记BY:T7Date:20171202At:YSUB307开发环境: uVision : V5.12.0.0STM32F103V8T6库版本 :STM32F10xStdPeriphLibV3.5.0
硬件包含: 一块STM32F103ZET6系统板、一个SPI接口的SD卡卡槽模块、一张SD卡 这篇文章主要演示FATFS文件系统如何移植到自己的工程,并完成文件的读写。 因为SD卡采用的是SPI模拟时序,所以,其他单片机一样可以照着移植,代码都可以复制粘贴的。 二、FATFS文件系统介绍 2.1 FATFS简介 FatFs 是一种完全免费...
return SPI_ReadWriteOneByte(DataTx); } (2)运行效果 3.3 SDIO方式 如果想提高SD NAND的读写速度,可以采用SDIO协议,STM32本身有SDIO的硬件支持,配置好SDIO的寄存器即可完成SD NAND的操作。 SDIO的数据线都比SPI多,读写速度自然没法比的。 下面贴出STM32F103ZE上面编写的SDIO协议读写SD NAND的驱动代码。