📄 sd_extr.h
字号:
#ifndef _SD_EXTR_H_
#define _SD_EXTR_H_
#include "drv_defs.h"
#include "sd_defs.h"
/* 给SD/MMC卡供电 power to sd/mmc card */
void SD_Powerup(void);
/* 初始化访问SD卡的硬件初始化 initialize the hardware that access sd card */
extern void SD_HardWareInit(void);
/* 设置SPI的时钟小于400kHZ set the clock of SPI less than 400kHZ */
extern void SD_Clk400k(void);
/* 设置SPI的clock到最大值 set the clock of SPI to maximum */
extern void SD_ClkToMax(void);
/* 初始化SD卡 initialize sd card */extern INT8U SD_Initialize(sd_struct *sds); /* 从SD卡中读一个块 read a single block from sd card */extern INT8U SD_ReadBlock(sd_struct *sds, INT32U blockaddr, INT8U *recbuf);
extern INT8U SD_ReadBlock_1(sd_struct *sds, int blockaddr, int blocknum, INT8U *buf);
extern INT8U SD_ReadMultipleBlock(INT32U blockaddr);
extern INT8U SD_WriteMultipleBlock(INT32U blockaddr);
/* 向SD卡中写入一个块 write a block to sd card */ extern INT8U SD_WriteBlock(sd_struct *sds, INT32U blockaddr, const INT8U *recbuf);
/* 向sd卡中写入多个块 */
extern INT8U SD_WriteBlock_1(sd_struct *sds, int blockaddr, int blocknum, const INT8U *buf);
/* 卡识别 card indentify */extern INT8U Card_Indentify(void);/* 激活卡 active card */extern INT8U SD_ActiveCard(sd_struct *sds);/* 得到SD卡信息 get information of sd card */extern INT8U SD_GetCardInfo(sd_struct *sds);/* SD/MMC卡中断处理函数 SD/MMC card interrupt handler *///extern void sdmmc_interrupt(int irq, void *dev_id, struct pt_regs *regs);/* SD/MMC插入中断处理函数 SD/MMC card insert handler *///extern void card_detect_interrupt(int irq, void *dev_id, struct pt_regs *regs);
extern INT8U SD_SendCommand(INT8U cmd, INT32U param, INT8U resptype, INT8U *resp);
extern INT8U SD_JudgeResult(INT8U *CardStatus);
extern void word_to_byte(INT32U value, INT8U *pdst);
extern INT8U SD_ResetSD(void);
extern INT8U SD_BlockCommand(INT8U cmd, INT8U resptype, INT32U parameter);
/* 读SD卡的CSD寄存器 read CSD register of sd card */
extern INT8U SD_ReadCSD(INT16U RCA, INT8U csdlen, INT8U *recbuf);
extern INT8U SD_ReadAllCID(INT8U cidlen, INT8U *recbuf);
/* Read Card status */
extern INT8U SD_ReadCard_Status(INT16U RCA, INT8U len, INT8U *buffer);
/* 读SD卡的CID寄存器 read CID register of sd card */
extern INT8U SD_ReadCID(INT16U RCA, INT8U cidlen, INT8U *recbuf);
extern INT8U SD_GetRCA(INT8U card_type, INT16U *RCA);
extern INT8U SD_SelectCard(INT16U RCA);
extern INT8U SD_DeSelectCard(void);
extern INT8U SD_StopTransmission(void);
extern INT8U SD_GoInactive(INT16U RCA);
//INT8U SD_SetBlockLen(INT32U length);
extern INT8U SD_SetBlockLen(INT16U RCA, INT32U length);
extern INT8U SD_ReadSingleBlock(INT32U blockaddr);
extern INT8U SD_WriteSingleBlock(INT32U blockaddr);
/* 读操作条件寄存器OCR read OCR register of sd card */
extern INT8U SD_ReadOCR(INT8U ocrlen, INT8U *recbuf);
extern INT8U MMC_ReadOCR(INT8U ocrlen, INT8U *recbuf);
extern INT8U SD_SetBusWidth(INT16U RCA, INT32U bwidth);
extern INT8U SD_ReadBlockData(INT32U len, INT8U *recbuf,INT32U timeout);
extern INT8U SD_WriteBlockData(INT8U bmulti, INT32U len, const INT8U *sendbuf, INT32U timeout);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -