📄 sdx.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 + -