⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmc.h

📁 这个是我调通的在2410下运行文件系统的程序. 用2410驱动sd卡来实现fat文件系统. 欢迎大家来测试. 用法很简单, 如下 FILE *fp // 文件指针
💻 H
字号:
#ifndef __MMC_H__
#define __Mmc_H__

#include "file_sys_cfg.h"

void Set_1bit_bus(void);
void Set_4bit_bus(void);
int Chk_MMC_OCR(void);
int Chk_SD_OCR(void);
int CMD55(void);
int CMD13(void);
int CMD9(void);
void CMD0(void);
int Chk_CMDend(int cmd, int be_resp);
void Card_sel_desel(char sel_desel);
void SetBus(void);
void Set_Prt(void);
void Clr_Prt(void);
S8 Mmc_Init(void);
S8 Mmc_Read_Sector(U32 addr,U8 *Buffer);
S8 Mmc_Write_Sector(U32 addr,U8 *Buffer);
int Chk_DATend(void);
int Chk_BUSYend(void);
uchar initialize_media(void);

#define _FF_read  Mmc_Read_Sector
#define _FF_write Mmc_Write_Sector


/*
  #ifdef _ALL_SD_CMDS_
	enum	{CMD0=0, CMD1, CMD9, CMD10, CMD12, CMD13, CMD16,
			CMD17, CMD18, CMD24, CMD25, CMD27, CMD28, CMD29,
			CMD30, CMD32, CMD33, CMD34, CMD35, CMD36, CMD37,
			CMD38, CMD42, CMD58, CMD59, ACMD41, CMD_TOT};


  #else
	enum	{CMD0=0, CMD1, CMD17, CMD24, CMD_TOT};
  #endif
  */
/*	enum	{GO_IDLE_STATE=0, SEND_OP_COND, SEND_CSD, SEND_CID,
			STOP_TRANSMISSION, SEND_STATUS, SET_BLOCKLEN,
			READ_SINGLE_BLOCK, READ_MULTIPLE_BLOCK, WRITE_BLOCK,
			WRITE_MULTIPLE_BLOCK, PROGRAM_CSD, SET_WRITE_PROT,
			CLR_WRITE_PROT, SEND_WRITE_PROT, TAG_SECTOR_START,
			TAG_SECTOR_END, UNTAG_SECTOR, TAG_ERASE_GROUP_START,
			TAG_ERASE_GROUP_END, UNTAG_ERASE_GROUP, ERASE,
			LOCK_UNLOCK, READ_OCR, CRC_ON_OFF};*/

	/*enum	{RESP_1, RESP_1b, RESP_2, RESP_3};

	enum	{NO_ARG, BLOCK_LEN, DATA_ADDR, STUFF_BITS};*/


/*
	uint send_cmd(U8 command, ulong argument);
	U8 reset_sd(void);
	U8 init_sd(void);


	U8 _FF_read(ulong sd_addr, U8 *sd_read_buff);
	U8 initialize_media(void);
	
  #ifndef _READ_ONLY_
	U8 _FF_write(ulong sd_addr, U8 *sd_write_buff);
  #endif
*/

	#ifndef _BIG_ENDIAN_
	typedef struct {
		uchar LO;
		uchar ML;
		uchar MH;
		uchar HI;
	} sHILO32c;
	typedef struct {
		uchar LO;
		uchar HI;
	} sHILO16c;
	typedef struct {
		uint LO;
		uint HI;
	} sHILO32i;
  #else
	typedef struct {
		uchar HI;
		uchar MH;
		uchar ML;
		uchar LO;
	} sHILO32c;
	typedef struct {
		uchar HI;
		uchar LO;
	} sHILO16c;
	typedef struct {
		uint HI;
		uint LO;
	} sHILO32i;
  #endif

	typedef union {
		ulong lval;
		sHILO32c cval;
		sHILO32i ival;
	} uHILO32;

	typedef union {
		uint ival;
		sHILO16c cval;
	} uHILO16;



#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -