-
大小: 1.61MB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-10-02
- 語言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
本庫函數(shù)版程序源碼是我將FATS文件管理系統(tǒng)移植到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“
/*?為每個(gè)設(shè)備定義一個(gè)物理編號(hào)?*/
#define?ATA ???????????0?????//?SD卡
#define?SPI_FLASH ???????1?????//?預(yù)留外部SPI?Flash使用
//固定只支持blocksize大小為512的卡,兼容大于512的卡時(shí),該卡容量會(huì)變小
#define?SD_BLOCKSIZE?????512//SDCardInfo.CardBlockSize?
/*-----------------------------------------------------------------------*/
/*?獲取設(shè)備狀態(tài)??????????????????????????????????????????????????????????*/
/*-----------------------------------------------------------------------*/
DSTATUS?disk_status?(
BYTE?pdrv /*?物理編號(hào)?*/
)
{
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;
}
/*-----------------------------------------------------------------------*/
/*?設(shè)備初始化????????????????????????????????????????????????????????????*/
/*-----------------------------------------------------------------------*/
//DSTATUS?disk_initialize?(
// BYTE?pdrv /*?物理編號(hào)?*/
//)
//{
// 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 /*?物理編號(hào)?*/
)
{
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;
}
/*-----------------------------------------------------------------------*/
/*?讀扇區(qū):讀取扇區(qū)內(nèi)容到指定存儲(chǔ)區(qū)??????????????????????????????????????????????*/
/*-----------------------------------------------------------------------*/
DRESULT?disk_read?(
BYTE?pdrv /*?設(shè)備物理編號(hào)(0..)?*/
BYTE?*buff /*?數(shù)據(jù)緩存區(qū)?*/
DWORD?sector /*?扇區(qū)首地址?*/
UINT?count /*?扇區(qū)個(gè)數(shù)(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
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????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個(gè)文件信息
評(píng)論
共有 條評(píng)論