资源简介
自己写的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
- 上一篇:课本生物医学传感器原理彭承琳
- 下一篇:GanJingYunV2.zip
相关资源
- Teigha_NET_SDK_3.09.10
- inspinia-admin-v2.4中文汉化版,绝对牛逼
- 海康网络相机利用SDK 多线程读取图像
- Spire.Xls无水印版,有.net2.0到4.0版,功
- MSDN 中文版
- 蓝讯SDK开发_工具链及IDE_包含RV32-Too
- 视频监控系统源码 带SDK
- 英伟达 最新的Video_Codec_SDK_9.0.20 sdk
- WIN10 64位 亲测最好用的缩略图补丁,
- IPCLinux.zip
- HCNA-SDN培训教材和实验手册
- 免费版 pspice
- portSpirit.zip
- BertsekasD.Nonlinearprogramming(2rd).pdf
- 包含openflow白皮书以及RYU的资料
- 多目标粒子群算法分享 - CSDN博主dkj
- 基于STM32音乐播放器设计 SD卡文件
- PCIE NVME for win7驱动,制作启动U盘最好
- SDK_2.6.1_EVK-MIMXRT1064.zip
- SDRplay_RSP_API-Windows-2.13.1.exe
- 据wsdl文件,利用sproxy.exe生成的头文件
- 正点原子stm32f429 cubemx sdram工程
- xcode 13.4ios sdk
- nRF51822开发工具包 SDK包 协议栈 全
- 光同步数字传输网——韦乐平经典
- Pluto_FM_examples.zip
- spi master.zip94106
- Physx sdk 3.2.31
- AC692x_SDK_release_V2.6.1.rar
- gsoap_2.8.94.zip
评论
共有 条评论