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

📄 sd.h

📁 C51上实现SD卡程序,是FAT32文件系统
💻 H
字号:
#ifdef __SD
   #define EXTERN  
#else 
   #define EXTERN extern 
#endif

#include "c8051F120.h"

#define SD_NOT_SELECTED   1 
#define SD_SELECTED   0 

#define SPI_RESULT_BYTE   SPI0DAT 
#define SPIPutChar(c)     {SPIWait();SPI0DAT=(c);} 
#define SPIPutCharWithoutWaiting(c)     {SPI0DAT=(c);} 
#define SPIWait()  {while(!(SPI0CFG & 0x80));;} 

#define LINE_BUSY         0x01
#define ERR          0x01
#define DATA_COMING  0x00
#define CMD17        0x51
#define CMD24        0x58
#define START_BLOCK_TOKEN 0xfe
#define DATA_REC_NO_ERR 0x00
#define TIMEOUT 0x01

sbit SD_XCS = P1^0;
unsigned char xdata * dataBufPtr;

EXTERN  unsigned char SDCommand( unsigned char c1, 
                         unsigned char c2, 
                         unsigned char c3, 
                         unsigned char c4, 
                         unsigned char c5);
 
EXTERN unsigned char SDWaitForData();
EXTERN void SDGetData(unsigned int amountOctets);
EXTERN void PerformBlockRead();
EXTERN unsigned char SeekSector(unsigned char cmd_sn,unsigned long sectorN);
EXTERN unsigned char ReadSector();
EXTERN unsigned char ReadDiskSector  (  unsigned long  sectorN   );
EXTERN unsigned char WriteSector();
EXTERN unsigned char WriteDiskSector(unsigned long sectorN);
EXTERN unsigned char GetCID();
EXTERN unsigned char RebootSD();
EXTERN unsigned char InitSD();
EXTERN void SPI8Clocks  (  unsigned char  nClocks   );
EXTERN unsigned char SPIGetChar  (void) ;
EXTERN void Delay(unsigned short i);
 

⌨️ 快捷键说明

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