通过多次,多天的不断努力终于把SSP总线方式下读写SD卡搞点,和大家一起分享一下。自带的程序部分不在叙述,只说明一下自己编写的程序:
// SSP收发程序,此程序在主机模式中可用。
uint8_t SSPTransceiver(uint8_t dat)
{
LPC_SSP->DR = dat; // 写入的数据
while ( (LPC_SSP->SR & (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF )
{
;
}
return (LPC_SSP->DR); // 读取的数据
}
SSP总线初始化非常重要,本人应用的是例程里自带的,管脚用的是:
SSEL - P0.2
SCK - P2.11(如果要用P0.6 LPC_IOCON->SCKLOC = 0x02; LPC_IOCON->;PIO0_6 = 0x02; 前一句应该改成LPC_IOCON->SCK_LOC = 0x02;)
MISO - P0.8
MOSI - P0.9
for (i=0; i<512; i++)
{
Buffer = 0x30; // 写入数据到缓冲
}
MMCWrBlockOne(10,Buffer); // 写入数据到SD卡
for (i=0; i<512; i++)
{
Buffer = 0x00; // 缓冲清零
}
MMCRdBolckOne(10,Buffer); // 读取SD卡中的数据
UARTSend(Buffer,512); // 发送数据到串口
下一个实验,移植FAT32。。。。。。。。。。。。。。。
谢谢分享