📄 mmc.h
字号:
#ifndef _MMC_H_
#define _MMC_H_
/*
#define DIR_ORI 0x3E000 //根目录起始点 (根目录共占32个Sector,16kB)
#define DIR_END 0x42000 //根目录结束点 (紧随其后是第二簇,没有第零,一簇)
#define DIR_LEN 0x4000 //根目长度
#define CLU_ORI 0x41000 //用户区起始地址,假设存在的第零簇的位置
#define FAT1_ORI 0xC00 //FAT表1起始地址
#define FAT2_ORI 0x1F600 //FAT表2起始地址
*/
#define MMC_GO_IDLE_STATE 0
#define MMC_SEND_OP_COND 1
#define MMC_SEND_STATUS 13
#define MMC_READ_SINGLE_BLOCK 17
#define MMC_WRITE_BLOCK 24
#define MMC_CRC_ON_OFF 59
#define OK 1
#define KO 0
// P7 可以位寻址.
sbit MMC_CS = P7^5;
sbit MMC_power = P7^6;
sbit MMC_OK = P7^7;
sbit SCLK = P0^2;
sbit MISO = P0^3;
sbit MOSI = P0^4;
typedef struct{
unsigned long size;
unsigned long Addr; //保存目录项绝对地址,
//在对其进行改名,修改等操作时可以快速找到该目录项
unsigned int firstcluster;
unsigned char filename[10];
unsigned char extension[4];
unsigned char attribute; //0表示目录;1表示文件
unsigned char year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
}FILESTRUCT;
/*********************************************************************************/
char OpenDir(FILESTRUCT *fp);
void OpenTxt(FILESTRUCT *fp);
int AddFile(char n);
int DeleteFile(char n);
void mmc_fopen(char n);
void mmc_fseek(unsigned long offset);
int mmc_fread(char *buf,int size);
int mmc_fwrite(char *buf,int size);
void mmc_fclose();
/*********************************************************************************/
//MMC卡模块主函数
void MMC();
#endif //_MMC_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -