📄 main.c
字号:
#include <cdefBF533.h>
#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)
{
int_t i;
Set_PLL(22,5);
Init_EBIU();
MMC_HardwareInitial();
if(MMC_Init()==1) MMC_read_sector(111,buff_r);
for(i=0;i<512;i++) printf("%x\r",buff_r[i]);
printf("SD/MMC Check END!\r\n");
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -