• 大小: 1.61MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-02
  • 语言: 其他
  • 标签:

资源简介

本库函数版程序源码是我将FATS文件管理系统移植到STM32F1上的代码,需要的朋友可以放心下载。

资源截图

代码片段和文件信息

/*-----------------------------------------------------------------------*/
/* Low level disk I/O module skeleton for FatFs     (C)ChaN 2007        */
/*-----------------------------------------------------------------------*/
/* This is a stub disk I/O module that acts as front end of the existing */
/* disk I/O modules and attach it to FatFs module with common interface. */
/*-----------------------------------------------------------------------*/
#include 
#include “diskio.h“
#include “stm32f10x.h“
#include “spi_sdcard.h“

/* 为每个设备定义一个物理编号 */
#define ATA            0     // SD卡
#define SPI_FLASH        1     // 预留外部SPI Flash使用

//固定只支持blocksize大小为512的卡,兼容大于512的卡时,该卡容量会变小
#define SD_BLOCKSIZE     512//SDCardInfo.CardBlockSize 


/*-----------------------------------------------------------------------*/
/* 获取设备状态                                                          */
/*-----------------------------------------------------------------------*/
DSTATUS disk_status (
BYTE pdrv /* 物理编号 */

{
DSTATUS status = STA_NOINIT;

switch (pdrv) {
case ATA: /* SD CARD */
status &= ~STA_NOINIT;
break;
    
case SPI_FLASH:        /* SPI Flash */   
break;

default:
status = STA_NOINIT;
}
return status;
}

/*-----------------------------------------------------------------------*/
/* 设备初始化                                                            */
/*-----------------------------------------------------------------------*/
//DSTATUS disk_initialize (
// BYTE pdrv /* 物理编号 */
//)
//{
// DSTATUS status = RES_ERROR ;//  STA_NOINIT
// switch (pdrv) {
// case ATA:          /* SD CARD */
// if(SD_Init()==SD_RESPONSE_NO_ERROR)
// {
// status =RES_OK;
// break;
// }
//// else 
//// {
//// status = STA_NOINIT;
//// }
////
//
//    
// case SPI_FLASH:    /* SPI Flash */ 
// break;
//      
// default:
//   break;
// }
// return status;
//}

DSTATUS disk_initialize (
BYTE pdrv /* 物理编号 */

{
DSTATUS status = STA_NOINIT;
switch (pdrv) {
case ATA:          /* SD CARD */
if(SD_Init()==SD_RESPONSE_NO_ERROR)
{
status &= ~STA_NOINIT;
}
else 
{
status = STA_NOINIT;
}

break;
    
case SPI_FLASH:    /* SPI Flash */ 
break;
      
default:
status = STA_NOINIT;
}
return status;
}


/*-----------------------------------------------------------------------*/
/* 读扇区:读取扇区内容到指定存储区                                              */
/*-----------------------------------------------------------------------*/
DRESULT disk_read (
BYTE pdrv /* 设备物理编号(0..) */
BYTE *buff /* 数据缓存区 */
DWORD sector /* 扇区首地址 */
UINT count /* 扇区个数(1..128) */

{
DRESULT status = RES_PARERR;
SD_Error SD_state = SD_RESPONSE_NO_ERROR;

switch (pdrv) {
case ATA: /* SD CARD */

SD_state=SD_ReadMultiBlocks(buff(uint64_t)sector*SD_BLOCKSIZESD_B

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-10-23 19:48  FATS_STM32_107_DEMO\
     目录           0  2019-10-23 19:48  FATS_STM32_107_DEMO\FATS\
     目录           0  2019-10-24 17:20  FATS_STM32_107_DEMO\FATS\src\
     文件        6904  2013-01-23 00:54  FATS_STM32_107_DEMO\FATS\src\00readme.txt
     文件        5656  2019-10-24 17:20  FATS_STM32_107_DEMO\FATS\src\diskio.c
     文件        2626  2019-10-24 14:01  FATS_STM32_107_DEMO\FATS\src\diskio.h
     文件      154279  2019-10-24 14:24  FATS_STM32_107_DEMO\FATS\src\ff.c
     文件       13551  2019-10-24 14:25  FATS_STM32_107_DEMO\FATS\src\ff.h
     文件       11351  2019-10-24 16:04  FATS_STM32_107_DEMO\FATS\src\ffconf.h
     文件         856  2010-04-24 23:45  FATS_STM32_107_DEMO\FATS\src\integer.h
     目录           0  2019-10-23 19:48  FATS_STM32_107_DEMO\FATS\src\option\
     文件      249488  2013-01-18 22:48  FATS_STM32_107_DEMO\FATS\src\option\cc932.c
     文件      724232  2013-01-18 22:49  FATS_STM32_107_DEMO\FATS\src\option\cc936.c
     文件      567684  2013-01-18 22:49  FATS_STM32_107_DEMO\FATS\src\option\cc949.c
     文件      450696  2013-01-18 22:49  FATS_STM32_107_DEMO\FATS\src\option\cc950.c
     文件       30169  2013-01-18 22:50  FATS_STM32_107_DEMO\FATS\src\option\ccsbcs.c
     文件        4811  2013-01-16 21:25  FATS_STM32_107_DEMO\FATS\src\option\syscall.c
     文件         269  2011-12-01 12:59  FATS_STM32_107_DEMO\FATS\src\option\unicode.c
     文件       32926  2019-10-24 15:44  FATS_STM32_107_DEMO\FATS\src\spi_sdcard.c
     文件       11693  2019-10-24 17:19  FATS_STM32_107_DEMO\FATS\src\spi_sdcard.h
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\
     目录           0  2019-10-23 19:48  FATS_STM32_107_DEMO\Libraries\CMSIS\
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\CoreSupport\
     文件       17273  2010-06-07 10:25  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c
     文件       85714  2011-02-09 14:59  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\DeviceSupport\
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\DeviceSupport\ST\
     目录           0  2019-10-23 19:48  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\
     目录           0  2019-10-23 19:47  FATS_STM32_107_DEMO\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\
............此处省略134个文件信息

评论

共有 条评论

相关资源