开启新的征程,邀请您见证ST的蜕变

【备战电赛】先导片-如何补全知识链条

智能车电机驱动(HIP4082+LR7843)

(分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记

  • (分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记
  • (分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记
  • (分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记
  • (分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记

(分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记

(分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记

(分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记

(分享)基于STM32 FATFS文件系统移植源码、调试过程、学习笔记


声明:该设计资料来自啊德Blog文章,希望给需要的朋友带来帮助。

一、序言
经常在网上、群里看到很多人问关于STM32FATFS文件系统移植的问题,刚好自己最近也在调试这个程序,为了让大家少走弯路,我把我的调试过程和方法也贡献给大家。

二、FATFS简介
FatFs Module是一种完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准C语言编写,所以具有良好的硬件平台独立性,可以移植到8051、PIC、AVR、SH、Z80、H8、ARM等系列单片机上而只需做简单的修改。它支持FATl2、FATl6和FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对8位单片机和16位单片机做了优化。

三、移植准备
1、FATFS源代码的获取,可以到官网下载:https://elm-chan.org/fsw/ff/00index_e.html 最新版本是R0.09版本,我们就移植这个版本的。
2、解压文件会得到两个文件夹,一个是doc文件夹,这里是FATFS的一些使用文档和说明,以后在文件编程的时候可以查看该文档。另一个是src文件夹,里面就是我们所要的源文件。
3、建立一个STM32的工程,为方便调试,我们应重载printf()底层函数实现串口打印输出。可以参考已经建立好的printf()打印输出工程:https://www.viewtool.com/bbs/foru ... d=77&extra=page%3D1或者“相关附件”下载

四、开始移植

  • 在已经建立好的工程目录User文件夹下新建两个文件夹,FATFS_V0.09和SPI_SD_Card,FATFS_V0.09用于存放FATFS源文件,SPI_SD_Card用于存放SPI的驱动文件。
  • 将ff.c添加到工程文件夹中,并新建diskio.c文件,在diskio.c文件中实现五个函数:
  1. DSTATUS disk_initialize (BYTE);//SD卡的初始化
  2. DSTATUS disk_status (BYTE);//获取SD卡的状态,这里可以不用管
  3. DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE);//从SD卡读取数据
  4. DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE);//将数据写入SD卡,若该文件系统为只读文件系统则不用实现该函数
  5. DRESULT disk_ioctl (BYTE, BYTE, void*);//获取SD卡文件系统相关信息

如截图:

 FATFS初始化函数:

FATFS状态获取函数:

FATFS底层读数据函数:

注意:更多相关代码下载,见“相关附件”下载

电路相关文件

电路图文件
STM32_FATFS_SPI.rar
描述:源文件下载
源代码
usart_printf.rar
描述:STM32例程之串口打印输出(源码下载)
教程
STM32的FATFS文件系统移植笔记.txt
描述:详见的讲解,具体查看链接
分享到:
收藏 (15)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归啊德Blog所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • 蓝牙mesh组网智能设备

    1: 支持 Android、 IOS 手机数据透传2: 支持一对多、多对一、多对多数据传输与控制3: 支持组网 LED 灯(26 种情景模式、面板模式)、亮度、白光、速度可调4: 支持组网 GPIO 控制(一对多、多对一、多对多)6: 支持组网遥控器(超低功耗),两节干电池至少可以使用一年以上7:支持组网 4 路 PWM 控制8:最大组网数量 2559:支持广播与单播 MESH 发送数据 :10:支持手机app更改设备名字等协议操作 实现自动组网,用户到手即可操作
    来自:智能家居时间:2019-02-15 stm32 蓝牙
  • TMC2208 静音步进电机驱动电路带stm32f103c8t6控制 CAN通信

    TMC2208静音步进电机驱动 平均电流1.2A 峰值2A特有的tealthChop™技术和256细分,可以实现零噪音带STM32微控制器,并引出CAN通信接口可贴装在42步进电机背面,尺寸完全合适引出串口 SWD下载接口 CAN通讯接口带有W25QXX系列芯片,可存储一些参数板子带有3.3V 高效率DC-DC芯片,只需要输入VM电压即可供电
    来自:电机驱动与控制时间:2019-02-16 stm32 步进电机 tmc2208
  • 久座提醒器

    办公久座语音提醒器!默认45分钟,可自行设定!,步进为一分钟!!
    来自:DIY创意产品时间:2019-01-14 stm32 久坐提醒
  • 正点原子 stm32f429核心板

    正点原子 stm32f429核心板 STM32F429核心板,兼容正点原子。可直接用于打样以及学习pcb多层布线,布线兼备信号/电源完整性,高速PCB布线。
    来自:其他时间:2019-02-13 stm32 正点原子 stm32f429
  • 正点原子 stm32f407开发板原理图和PCB 探索者

    正点原子 stm32f407开发板原理图和PCB完整工程,包括原理图和PCB。可以直接打样,生产。
    来自:其他时间:2019-02-13 stm32 stm32f407 正点原子
  • STM32F429IGT6核心板 邮票孔+兼容正点原子板对板接口设计 Altium -4层PCB设计

    在正点原子阿波罗F4核心板基础上又添加邮票空引脚设计。走线优化。Stm32f429核心板 ,核心板配置 stm32f429+flash+nandflash+sdram +rgb888液晶接口,mcu引脚全部引出,便于二次开发,学习,核心板采用油票孔+1.27排针孔方式。
  • Fly_ESC 电调 无刷驱动 BLDC电机驱动

    基于stm32F051微控制器开发的无感无刷电调。软件开发基于st HAL库。可以使用PWM,串口进行控制。
    来自:电机驱动与控制时间:2019-01-29 电机驱动 bldc 电调
  • 基于STM32F103单片机RFID智能超市收银结账设计

    本设计基于射频识别技术(RFID)的超市快速结账系统设计不仅可以减少结账的实际时间,并通过收银台的造型和空间的优化设计,从而减少顾客结账的感知时间,使结账成为快捷美好的购物体验。 在分析比较国内外超市快速结账系统相关技术研究后,本文提出了一种基于RFID视频技术的超市快速结账系统。通过RFID阅读器对事先安装在货物上的RFID信息进行快速获取,进而对货物价格进行快速统计,十分迅速快捷,极大的方便了购物者。本设计由STM32单片机核心板电路+RFID模块电路+1602液晶显示电路组成。用RFID卡设计,有3张卡,依次代表黄瓜,茄子,土豆,只要刷卡,液晶上会显示价格,有个按键,按下后,计算总账。
  • stm32l4核心板资料打包开源

    特色:一:该核心可以焊接两种典型芯片:1、STM32F103C8T62、STM32L433C8T6封装类型:LQFP;引脚个数:48;内 核:Cortex-M3(103)或Cortex-M4 ( 433) ;工作频率:72MHz(103)或80MHz(433);存储资源:对于stm32f103c8是 64K Byte Flash ,20KByte SRAM;对于stm32l433c8是64K Byte Flash ,64KByte SRAM;接口资源:2x SPI,3x USART,2x I2C,1x CAN,37x I/O口,模数转换:2x ADC(12位/16通道)定 时 器:3个普通定时器 1个高级定时器调试下载:支持JTAG/SWD接口的调试下载,支持IAP。二:LDO采用超低静态电流(最低到0.5uA)的TPS78233,可以方便评估STM32L433C8T6优秀的低功耗特点。三:接口丰富。 接口简介:1、SWD接口:支持仿真、下载和调试。2、Mirco USB接口:供电和USB通讯功能,不支持下载 。3、USART1接口:可以用于USART1进行下载程序,或者使用USART1进行通讯。4、MCU引脚接口:引出所有I/O口引脚,方便与外设进行连接。5、5V与3.3V电源输入输出接口:常用于对外供电,或与其他模块进行共地处理 其他器件简介:1、电源LED(PWR):电源指示状态,可判断电源是否稳定。2、用户LED(PC13):便于I/O输出测试或者指示程序运行状态。3、启动跳冒选择编程方式:(1、用户闪存 2、SRAM 3、系统存储器)。4、8M晶振:可通过倍频设置使系统主频为72MHz。5、32.768KHz晶振:可供内置RTC使用,或用于校准。四:PCB板输出管脚排列和大小与DIP40的51芯片类似,电源兼容。可以在一定程度上在原51的电路系统中代替51芯片。
    来自:MCU开发板时间:2019-01-28 stm32 核心板 stm32l4
  • STM32F103C8T6最小系统AltiumDesigner文件格式

    STM32F103C8T6最小系统AltiumDesigner文件格式
    来自:MCU开发板时间:2019-01-26 stm32 最小系统
销量
133
查看
2156
参数名 参数值
发布于 2017 年 02 月 15日
Moore8直播课堂