📄 sd_public.h
字号:
/************************************************************************************/
/* */
/* Copyright (C) 2004 Medeli Electric Industry Co., LTD. */
/* */
/* System Name : IC-1000 */
/* File Name : sd_public.h */
/* Revision : 1.00 */
/* Date : 2006/4/10 */
/* Initial version */
/* Joe's work */
/************************************************************************************/
#ifndef SD_PUBLIC_H
#define SD_PUBLIC_H
#ifdef __cplusplus
extern "C" {
#endif
/********************************Includs***************************************/
/********************************Specials**************************************/
typedef void(* SD_EXPRC_PT)(void);
/*******************************Constants**************************************/
#define SD_CRC_ENABLED (0)
/* 是否允许CRC(允许会使DMA读取产生错误) */
#define SD_ERROR (1)
/* SD卡出错返回值 */
#define SD_OK (0)
/* SD卡正确返回值 */
#define SD_EXPRC_NUM (10)
/* 需要运行的外部程序错误 */
/*********************************Enums****************************************/
/********************************Marcros***************************************/
/*******************************Structures*************************************/
typedef struct
{
VUBYTE data_sent; /* 字节已发送标志 */
VUBYTE timer; /* 10ms 定时器 */
VUWORD short_timer;
UBYTE com_para[4]; /* 指令参数 */
UBYTE resp[5]; /* 应答内容 */
UBYTE ocr[5]; /* OCR内容 */
UBYTE csd[16]; /* CSD内容 */
UHWORD data_crc; /* 数据块crc */
UWORD trans_speed; /* 传输速率 */
UWORD block_len; /* 块长度,字节单位 */
UWORD block_num; /* 块数量 */
UWORD erase_unit; /* 一次可擦除的块数量 */
UWORD timeout_read; /* 读块超时时间(单位: 8 SPI clock) */
UWORD timeout_write;/* 写块超时时间(单位: 8 SPI clock) */
UWORD timeout_erase;/* 擦块超时时间(单位: 8 SPI clock) */
}SD_VARS;
typedef struct
{
UBYTE cur_prc;
SD_EXPRC_PT normal[SD_EXPRC_NUM];
SD_EXPRC_PT using_sio;
}SD_EXPRC_STRUCT;
/**************************Variable Declaration********************************/
extern SD_VARS sd_vars;
/**************************Function Declaration********************************/
extern void init_sd(void);
extern UBYTE sd_card_initial(void);
extern UBYTE sd_write_data(UWORD src_addr,UWORD dst_addr,UWORD length);
extern UBYTE sd_read_data(UWORD src_addr,UWORD dst_addr,UWORD length);
/***************************End of sd_public.h*********************************/
#ifdef __cplusplus
}; /* End of 'extern "C"' */
#endif
#endif /* End of sd_public.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -