• 大小: 21.73MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-18
  • 语言: 其他
  • 标签: SD  spi  FAT16  

资源简介

自己写的SD卡的spi模式实现和FAT16文件系统的实现,注释挺详细的。其中SD卡的读写操作函数是基于nios ii的,所以我特地说明了怎么移植我的FAT16到其他单片机上

资源截图

代码片段和文件信息

/*
 * Fat16.c
 *
 *  Created on: 2012-2-24
 *      Author: Ming
 */

#include“Fat16.h“

FAT_BPB Bpb;
FAT_OFFSET Offset;
//--------------------------------------------内部函数----------------------------------------------------------------//
//-----------------------------------------------------------//
//Function Name : ToUper
//description : 将小写字母转为大写字母
//Input : alt_u8 *str:字符串指针
//Output : None
//Return : None
//-----------------------------------------------------------//
void ToUper(alt_u8 *str)
{
do{
if(*str >= ‘a‘ && *str <= ‘z‘) *str = *str - ‘a‘ + ‘A‘;
}while(*str++);
}
//-----------------------------------------------------------//
//Function Name : MemSet
//description : 对动态申请的堆区进行置零
//Input : alt_u8 *pMem : 指向申请堆区的指针
//   alt_u16 Size : 申请堆区的大小
//Output : None
//Return : None
//-----------------------------------------------------------//
void MemSet(alt_u8 *pMemalt_u16 Size)
{
for(;Size > 0;Size--) *pMem++ = 0;
}
//-----------------------------------------------------------//
//Function Name : MemCopy
//description : 按字节进行一块区域的拷贝
//Input : alt_u8 *pSourse : 要拷贝区域的指针
//   alt_u16 Size : 拷贝字节数
//Output : at_u8 *pDest : 拷贝后存放区域的指针
//Return : None
//-----------------------------------------------------------//
void MemCopy(alt_u8 *pDestalt_u8 *pSoursealt_u16 Size)
{
for(;Size > 0;Size--) *pDest++ = *pSourse++;

}
//-----------------------------------------------------------//
//Function Name : InitDIR
//description : 给DIR初始化赋初值
//Input : DIR *pDir:DIR指针
//Output : None
//Return : None
//-----------------------------------------------------------//
void InitDIR(DIR *pDir)
{
alt_u8 i*p = (alt_u8*)pDir;
for(i = 0;i < 32;i++){
*p++ = 0x00;
}
}
//-----------------------------------------------------------//
//Function Name : FileNameConvert
//description : 将字符串文件名转换成8.3格式文件名
//Input : char *pFileName : 字符串文件名指针
//Output : FILE_NAME *pFile_Name : 8.3格式文件名指针
//Return : 0:成功
//   1:非法文件名
//-----------------------------------------------------------//
alt_u8 FileNameConvert(alt_u8 *pFileNameFILE_NAME *pFile_Name)
{
alt_u8 count = 0*p = pFileName;

ToUper(p); //文件名转为大写

do{
if(*p == (alt_u8)‘.‘){
if(count <= 8){             //文件名长度小于等于8
MemCopy(pFile_Name->NamepFileNamecount);
for(;count < 8;count++) pFile_Name->Name[count] = ‘ ‘;
MemCopy(pFile_Name->Typep + 13);
return TRUE;
}
else{ //文件名大于8
MemCopy(pFile_Name->Name(alt_u8*)pFileName6);
pFile_Name->Name[6] = ‘~‘;
pFile_Name->Name[7] = ‘1‘;
MemCopy(pFile_Name->Typep + 13);
return TRUE;
}
}
count++;
}while(*p++ != ‘ ‘);

return FALSE;
}
//-----------------------------------------------------------//
//Function Name : IsEqual
//description : 判断两个数据串是否相等
//Input : alt_u8 *pDataA : 数据串A
//   alt_u8 *pDataB : 数据串B
//   alt_u8 Size : 数据串长度
//Output : None
//Return : 0:相等

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件   23691756  2012-04-02 21:02  SD_spi+FAT16\SD_spi+FAT16工程.rar

     文件       3111  2012-02-10 10:11  SD_spi+FAT16\代码\FAT16\alt_types.h

     文件      26496  2012-04-02 21:50  SD_spi+FAT16\代码\FAT16\Fat16.c

     文件       4679  2012-04-02 21:49  SD_spi+FAT16\代码\FAT16\Fat16.h

     文件       1507  2012-04-02 19:34  SD_spi+FAT16\代码\FAT16\SD\SD_spi.c

     文件       1249  2012-04-02 17:31  SD_spi+FAT16\代码\FAT16\SD\SD_spi.h

     文件       1959  2012-04-02 21:54  SD_spi+FAT16\代码\FAT16\SD_spi_main.c

     文件        334  2012-04-02 21:38  SD_spi+FAT16\代码\FAT16\代码使用说明.txt

     文件       9231  2012-04-02 17:31  SD_spi+FAT16\代码\SD_spi_nios\SD_spi_Solution.c

     文件       1735  2012-04-02 17:31  SD_spi+FAT16\代码\SD_spi_nios\SD_spi_Solution.h

     文件        713  2012-04-02 21:34  SD_spi+FAT16\代码\代码使用说明.txt

     文件        162  2012-04-02 21:32  SD_spi+FAT16\使用说明.txt

     目录          0  2012-04-02 21:26  SD_spi+FAT16\代码\FAT16\SD

     目录          0  2012-04-02 21:35  SD_spi+FAT16\代码\FAT16

     目录          0  2012-04-02 21:08  SD_spi+FAT16\代码\SD_spi_nios

     目录          0  2012-04-02 22:01  SD_spi+FAT16\代码

     目录          0  2012-04-02 21:28  SD_spi+FAT16

----------- ---------  ---------- -----  ----

             23742932                    17


评论

共有 条评论