📄 sdi.h
字号:
#ifndef _SDIO_
#define _SDIO_
//#ifdef _READ_SD_
//SDICON 0x5A000000
#define SDIBYTEORDER 0x10
#define SDIRCVIOINT 0x08
#define SDIRWAITEN 0x04
#define SDIFRST 0x02
#define SDIENCLK 0x01
//SDIPRE 0x5A000004
//SDICARG 0x5A000008
//SDICCON 0x5A00000C
#define SDIABORTCMD 0x1000
#define SDIWITHDATA 0x800
#define SDILONGRSP 0x400
#define SDIWAITRSP 0x200
#define SDICMST 0x100
//SDICSTA 0x5A000010
#define SDIRSPCRC 0x1000
#define SDICMDSENT 0x800
#define SDICMDTOUT 0x400
#define SDIRSPFIN 0x200
#define SDICMDON 0x100
//SDIRSP0 0x5A000014
//SDIRSP1 0x5A000018
//SDIRSP2 0x5A00001C
//SDIRSP3 0x5A000020
//SDIDTIMER 0x5A000024
//SDIBSIZE 0x5A000028
//SDIDCON 0x5A00002C
#define SDIPRDTYPE 0x200000
#define SDITARSP 0x100000
#define SDIRACMD 0x80000
#define SDIBACMD 0x40000
#define SDIBLKMODE 0x20000
#define SDIWIDEBUS 0x10000
#define SDIENDMA 0x8000
#define SDISTOP 0x4000
//SDIDCNT 0x5A000030
//SDIDSTA 0x5A000034
#define SDIRWAITREQ 0x400
#define SDIIOINTDET 0x200
#define SDIFFFAIL 0x100
#define SDICRCSTA 0x80
#define SDIDATCRC 0x40
#define SDIDATTOUT 0x20
#define SDIDATFIN 0x10
#define SDIBUSYFIN 0x08
#define SDISBITERR 0x04
#define SDITXDATON 0x02
#define SDIRXDATON 0x01
//SDIFSTA 0x5A000038
#define SDITFDET 0x2000
#define SDIRFDET 0x1000
#define SDITFHALF 0x800
#define SDITFEMPTY 0x400
#define SDIRFLAST 0x200
#define SDIRFFULL 0x100
#define SDIRFHALF 0x80
//SDIDAT 0x5A00003C
//SDIIMSK 0x5A000040
#define INTRSPCRC 0x20000
#define INTCMDSENT 0x10000
#define INTCMDTOUT 0x8000
#define INTRSPEND 0x4000
#define INTRWAITREQ 0x2000
#define INTIOINTDET 0x1000
#define INTFFFAIL 0x800
#define INTCRCSTA 0x400
#define INTDATCRC 0x200
#define INTDATTOUT 0x100
#define INTDATFIN 0x80
#define INTBUSYFIN 0x40
#define INTSBITERR 0x20
#define INTTFHALF 0x10
#define INTTFEMPTY 0x08
#define INTRFLAST 0x04
#define INTRFFULL 0x02
#define INTRFHALF 0x01
void Test_SDI(void);
U8 SDI_CardEnable(void);
U8 SDI_CardDisable(void);
int SDI_CardInit(void);
void TR_Buf_new(void);
void SDI_WriteSector(U8 Index, U32 LBA_Start, U16 LBA_Length, U8 * Buffer);
void Wt_Block(void);
void SDI_ReadSector(U8 Index, U32 LBA_Start, U16 LBA_Length, U8 * Buffer);
void Rd_Block(void);
void View_Rx_buf(void);
void View_Tx_buf(void);
void Flush_Rx_buf(void);
void Wt_Stream(void); // only for MMC, 3blk write
void Rd_Stream(void); // only for MMC, 3blk read
void Card_sel_desel(char sel_desel);
void CMD0(void);
int CMD9(void);//SEND_CSD
int CMD13(void);//SEND_STATUS
int CMD55(void);
int Chk_MMC_OCR(void);
int Chk_SD_OCR(void);
int Chk_CMDend(int cmd, int be_resp);//0: Timeout
int Chk_DATend(void);
int Chk_BUSYend(void);
void Set_1bit_bus(void);
void Set_4bit_bus(void);
void SetBus(void);
void Set_Prt(void);
void Clr_Prt(void);
void __irq Rd_Int(void);
void __irq Wt_Int(void);
void __irq DMA_end(void);
//#endif /* _READ_SD_ */
#endif //_SDIO_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -