📄 mmcmain.c
字号:
/*----------------------------------------------------------------------
www.mcu123.com
--------------------------------------------------------------------*/
#include <LPC214X.H> /* LPC214x definitions */
#include "type.h"
#include "spi_mmc.h"
#include "mmcmain.h"
extern BYTE MMCWRData[MMC_DATA_SIZE];
extern BYTE MMCRDData[MMC_DATA_SIZE];
/* Main Program */
int main (void) {
DWORD i, BlockNum = 0;
PINSEL1 = 0x40004000;
IODIR1 = LED_MSK; /* LED's defined as Outputs */
SPI_Init(); /* initialize SPI for MMC card */
IOSET1 = LED_CFG;
if ( mmc_init() != 0 )//MMC 初始化
{
IOSET0 = SPI_SEL; /* set SSEL to high */
while ( 1 ); /* Very bad happened */
}
/* write, read back, and compare the complete 64KB on the MMC
* card each block is 512 bytes, the total is 512 * 128 */
for ( BlockNum = 0; BlockNum < MAX_BLOCK_NUM; BlockNum++ )
{
IOCLR1 = LED_MSK;
IOSET1 = LED_WR;
if ( mmc_write_block(BlockNum) == 0 )
{
IOCLR1 = LED_MSK;
IOSET1 = LED_RD;
mmc_read_block(BlockNum);
}
else
{
IOSET0 = SPI_SEL; /* set SSEL to high */
while ( 1 ); /* Very bad happened */
}
for ( i = 0; i < MMC_DATA_SIZE; i++ ) /* Validate */
{
if ( MMCRDData[i] != MMCWRData[i] )
{
IOSET0 = SPI_SEL; /* set SSEL to high */
while ( 1 ); /* Very bad happened */
}
}
for ( i = 0; i < MMC_DATA_SIZE; i++ ) /* clear read buffer */
MMCRDData[i] = 0x00;
}
IOCLR1 = LED_MSK;
IOSET1 = LED_DONE;
while (1); /* Loop forever */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -