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

📄 sd.h

📁 用串口来显示和操作的基于ucos的以sd卡为存储介质的mp3源码
💻 H
字号:
#ifndef _SD_H
#define _SD_H

#define SD_Chip_Select (1 << 20)

/*LPC2148与SD卡模块的接口定义
  I/O         	NAME
  
  P0.20    	    CS
  P0.19        	MOSI
  P0.17       	SCLK
  P0.18       	MISO  
  P0.15      	det
*/

#define CMD0 0x00
#define CMD1 0x01
#define CMD2 0x02
#define CMD3 0x03
#define CMD4 0x04
#define CMD5 0x05
#define CMD6 0x06
#define CMD7 0x07
#define CMD8 0x08
#define CMD9 0x09
#define CMD10 0x0a
#define CMD11 0x0b
#define CMD12 0x0c
#define CMD13 0x0d
#define CMD14 0x0e
#define CMD15 0x0f
#define CMD16 0x10
#define CMD17 0x11
#define CMD18 0x12
#define CMD19 0x13
#define CMD20 0x14

#define ReadSec			0x01
#define ReadBlock		0x02
#define WriteSec		0x03

#define INIT_CMD0_ERROR    0x01  //CMD0 Error!
#define INIT_CMD1_ERROR    0x02  //CMD1 Error!
#define WRITE_BLOCK_ERROR  0x03
#define READ_BLOCK_ERROR   0x04

#define SD_Disable() IO0SET |= SD_Chip_Select//SD Chip Select Pin is P0.7
#define SD_Enable() IO0CLR |= SD_Chip_Select 

typedef struct 
{
	INT16U   size_MB;
	INT8U    sector_multiply;
	INT16U   sector_count;
	INT8U    name[6];
} VOLUME_INFO_TYPE; 

void  MSPI_Init(INT8U);
INT8U Write_Command_SD(INT8U *CMD);
INT8U SPI_RW(INT8U data);
 
INT8U SD_Init(void);
void  SD_get_volume_info(VOLUME_INFO_TYPE* vinf);
INT8U SD_write_sector(INT32U Number_Sector, INT8U* Buffer);
INT8U SD_Read_Block(INT8U *CMD, INT8U *Buffer, INT16U Bytes);
INT8U SD_read_sector(INT32U Number_Sector,INT8U *Buffer);
INT8U Read_CID_SD(INT8U *Buffer);
INT8U Read_CSD_SD(INT8U *Buffer);

#endif

⌨️ 快捷键说明

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