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

📄 sd_cmd.h

📁 基于U(375)盘及SD(SPI模式)卡集成文件系统(包括底层驱动)
💻 H
字号:

#ifndef __SD_CMD_H__
#define __SD_CMD_H__

#include <std.h>
#include <stdio.h>
#include "TYPE.H"
#include "sd_driver.h"
#define CMD0                    0x40
#define CMD1                    (0x40 + 1)
#define CMD8                    (0x40 + 8)
#define CMD9                    (0x40 + 9)
#define CMD10                   (0x40 + 10)
#define CMD12					(0x40 + 12)
#define CMD16                   (0x40 + 16)
#define CMD17					(0x40 + 17)
#define CMD18					(0x40 + 18)
#define CMD24 					(0x40 + 24)
#define CMD32                   (0x40 + 32)  //设置擦除开始块地址
#define CMD33                   (0x40 + 33)  //设置擦除最后块地址
#define CMD38                   (0x40 + 38)  //擦除所选择的块
#define CMD25					(0x40 + 25)
#define CMD55                   (0x40 + 55)
#define CMD58                   (0x40 + 58)  //read OCR

#define ACMD13					(0xC0 + 13)
#define ACMD23					(0xC0 + 23)
#define ACMD41					(0xC0 + 41)


#define CH_OK               0X00
#define CH_ERROR            0x01



typedef struct CSD_STRUCT
{
	UINT8 CSD_STRUCTURE;
	UINT8 TAAC;
	UINT8 NSAC;
	UINT8 TRAN_SPEED;
	UINT16 CCC;
	UINT8 READ_BL_LEN;
	Bool READ_BL_PARTIAL;
	Bool WRITE_BLK_MISALIGN;
	Bool READ_BLK_MISALIGN;
	Bool DSR_IMP;
	UINT16 C_SIZE;
	UINT8 VDD_R_CURR_MIN;
	UINT8 VDD_R_CURR_MAX;
	UINT8 VDD_W_CURR_MIN;
	UINT8 VDD_W_CURR_MAX;
	UINT8 C_SIZE_MULT;
	Bool ERASE_BLK_EN;
	UINT8 SECTOR_SIZE;
	UINT8 WP_GRP_SIZE;
	Bool WP_GRP_ENABLE;
	UINT8 R2W_FACTOR;
	UINT8 WRITE_BL_LEN;
	Bool WRITE_BL_PARTIAL;
	Bool FILE_FORMAT_GRP;
	Bool COPY;
	Bool PERM_WRITE_PROTECT;
	Bool TMP_WRITE_PROTECT;
	UINT8 FILE_FORMAT;
	UINT8 CRC;
}csd_struct;


/*----------------------------------------------------------------------------*/
/* SD卡信息结构体定义 */ 
/* the information structure variable of SD Card*/
typedef struct SD_STRUCT
{	
	UINT32 block_num;				/* 卡中块的数量 */
	UINT32 block_len;				/* 卡的块长度(单位:字节) */
	UINT32 erase_unit;				/* 一次可擦除的块个数 */
	
	
	UINT32 timeout_read;			/* 读块超时时间(单位: 8 SPI clock) */
	UINT32 timeout_write;			/* 写块超时时间(单位: 8 SPI clock) */
	UINT32 timeout_erase;			/* 擦块超时时间(单位: 8 SPI clock) */
	
}sd_struct;





typedef enum{ STA_INITED, STA_NOINIT, STA_NODISK,STA_PROTECT} DSTATUS;
UINT8 SD_Hiden32M(UINT32 mHidenVolume);

#endif

⌨️ 快捷键说明

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