📄 main.c
字号:
/**********************************************************
*File: main.c
*Content: FS7805 read/write SD sector
*data: 01/12/2007 DEREK V0.1
*data: 03/22/2007 Jason V0.2 Modified FIFO to DMA_FIFO
*
*
* Copyright (c) 2006 Fameg, Inc. All rights reserved
***********************************************************/
#define ALLOCATE_EXTERN
#include "fs7805.h"
#include "fs7805regs.h"
#include "include.h"
INT16U i;
BYTE Status;
void main(void)
{
McuInit();
Timer0Init();
SdInit();
{
if (SdCardExist()) //if card is inserted
{
SdReset();
Status = SdCardDetect();
Status = SdGoIdentifyState();
Status = SdGoStandbyState();
Status = SdReadCSD(); //
Status = SdGoTransferState();
//card initialization complet.----------------------------
for(i=0;i<512;i++)
((BYTE xdata *)DMA_FIFOA0)[i]=8*i+0;
for(i=0;i<512;i++)
((BYTE xdata *)DMA_FIFOA1)[i]=8*i+1;
for(i=0;i<512;i++)
((BYTE xdata *)DMA_FIFOB0)[i]=8*i+2;
for(i=0;i<512;i++)
((BYTE xdata *)DMA_FIFOB1)[i]=8*i+3;
//continous write-------------------------------------------
SectorStart=0;
SectorCount=4;
SDMI_BUFBASE=(DMA_FIFOA0>>8);
Status = SdWriteSector();
SectorCount--;
SDMI_BUFBASE=(DMA_FIFOA1>>8);
Status = SdWriteNextSector();
SectorCount--;
SDMI_BUFBASE=(DMA_FIFOB0>>8);
Status = SdWriteNextSector();
SectorCount--;
SDMI_BUFBASE=(DMA_FIFOB1>>8);
Status = SdWriteNextSector();
SectorCount--;
//continous read-------------------------------------------
SectorStart=0;
SectorCount=4;
SDMI_BUFBASE=(DMA_FIFOC0>>8);
Status = SdReadSector();
SectorCount--;
SDMI_BUFBASE=(DMA_FIFOC1>>8);
Status = SdReadNextSector();
SectorCount--;
SDMI_BUFBASE=(DMA_FIFOD0>>8);
Status = SdReadNextSector();
SectorCount--;
SDMI_BUFBASE=(DMA_FIFOD1>>8);
Status = SdReadNextSector();
SectorCount--;
}
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -