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

📄 sdx.h

📁 SD卡-SDHC卡扇区读写测试
💻 H
字号:
#ifndef __SDX_H__
#define __SDX_H__

/*******************************************************

        +------------------------------------+
        |  振南电子 驱动程序模块 SD/SDHC 部分|
        +------------------------------------+

  此源码版权属 振南 全权享有,如欲引用,敬请署名并告知
        严禁随意用于商业目的,违者必究,后果自负
         振南电子 
             ->产品网站 http://www.znmcu.cn/
             ->产品论坛 http://bbs.znmcu.cn/
             ->产品网店 http://shop.znmcu.cn/
             ->产品咨询 QQ:987582714 MSN:yzn07@126.com
	                WW:yzn07				  
********************************************************/

#include <reg51.h>

sbit SD_SCL=P1^7; //SD卡同步时钟  输入
sbit SD_SI =P1^5; //SD卡同步数据  输入
sbit SD_CS =P0^7; //SD卡片选 	  输入
sbit SD_SO =P1^6; //SD卡同步数据  输出
				   
#define DELAY_TIME 2000 //SD卡的复位与初始化时SPI的延时参数,根据实际速率修改其值,否则会造成SD卡复位或初始化失败
#define TRY_TIME 100   //向SD卡写入命令之后,读取SD卡的回应次数,即读TRY_TIME次,如果在TRY_TIME次中读不到回应,产生超时错误,命令写入失败

//错误码定义
//-------------------------------------------------------------
#define INIT_CMD0_ERROR     0x01 //CMD0错误
#define INIT_CMD1_ERROR     0x02 //CMD1错误
#define WRITE_BLOCK_ERROR   0x03 //写块错误
#define READ_BLOCK_ERROR    0x04 //读块错误
#define INIT_CMD8_ERROR	    0x05 //CMD8错误
//-------------------------------------------------------------

unsigned char SD_Reset(); //SD卡复位
unsigned char SD_Check_Version(); //检查SD卡的版本
unsigned char SD_Init(); //SD卡初始化

unsigned char SD_Ready_Go(); //让SD卡就绪

unsigned char SD_Write_Sector(unsigned long addr,unsigned char *buffer); //将buffer数据缓冲区中的数据写入地址为addr的扇区中
unsigned char SD_Read_Sector(unsigned long addr,unsigned char *buffer);	 //从地址为addr的扇区中读取数据到buffer数据缓冲区中

#endif

⌨️ 快捷键说明

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