SD卡的读写功能实现的主函数
0赞
发表于 1/11/2012 2:19:42 PM
阅读(2071)
#include#include "dm_mmc.h" #include "dm_bf5xx.h" uint8_t buff_w[512]; uint8_t buff_r[512]; /**************************************************************************** * 名称 : MMC_HardwareInitial * 功能 : SPI配置初始化 * 入口参数 :无 * 出口参数 :无 ****************************************************************************/ void MMC_HardwareInitial(void) { *pCtrIner_Flag_OE = 0xff && (~SPI_OE); //SPI_switc 允许 mdelay(500); *pCtrOut_Flag_B = SPI_A1; // 选择SD_SPISS mdelay(500); *pFIO_DIR = PF2; *pFIO_FLAG_S = PF2; *pSPI_FLG = FLS2; *pSPI_BAUD = 1000; *pSPI_CTL = 0x0400; *pSPI_CTL = TIMOD_T | MSTR ; *pSPI_CTL = (*pSPI_CTL | SPE); } /**************************************************************************** * 名称 : check_test * 功能 : 校验写入数据的正确性,将写入的数据读出比较 * 入口参数 :无 * 出口参数 :无 ****************************************************************************/ void check_test(void) { int_t i; int_t flag = 1; for(i=0;i<512;i++) buff_w[i] = i; MMC_Write_sector(5,buff_w); MMC_read_sector(5,buff_r); for(i=0;i<512;i++) { if(buff_w[i] != buff_r[i]) { flag = 0; break; } } if(flag) printf("SD/MMC Check is OK!\r\n"); else printf("SD/MMC Check ERROR!\r\n"); } /**************************************************************************** * 名称 : main * 功能 : MMC/SD卡测试主函数 * 入口参数 :无 * 出口参数 :无 ****************************************************************************/ void main(void) { Set_PLL(22,5); Init_EBIU(); MMC_HardwareInitial(); MMC_Init(); check_test(); printf("SD/MMC Check END!\r\n"); while(1); }