AtomSoft
Well-Known Member
**broken link removed**
I need some help getting SPI0 to work with SD card. I tried so many cards so i
assume its the software.
This is my INIT SPI0 code and Transmit Code. See anything wrong?
I need some help getting SPI0 to work with SD card. I tried so many cards so i
assume its the software.
This is my INIT SPI0 code and Transmit Code. See anything wrong?
Code:
//code to init the SPI0:
void INIT_SPI(BYTE speed)
{
PINSEL0 |= 0x1500;
if(speed==0)
{
S0SPCCR = 126; // 396Khz (50Mhz / 126 = 396Khz) (50mhz/396Khz = 126)
}
if(speed==1)
{
S0SPCCR = 8; // 6.25Mhz (50Mhz / 8 = 6.25Mhz) (50mhz/6.25Mhz = 8)
}
if(speed==2)
{
S0SPCCR = 0;
S0SPCR = 0;
return;
}
S0SPCR = 0x820; // 8 bit Master mode 00
}
//Code to send/get data:
BYTE xmit_spi(BYTE data)
{
unsigned char temp;
S0SPDR = data;
while(!(S0SPSR & SPIF)){}
temp = S0SPSR;
temp = S0SPDR;
debug_printf("Sent 0x%X, Received: 0x%X\n\r",data,temp);
return temp;
}