Hi everyone, I found SD.c that works with SD card thorough SPI for LPC series. But I work with AT91SAM7x256 and I want to change the code to work with this series. I am working on USB and new to memories. This very important to me. I am so grateful for your help.
can anyone help me?
#include"lpc214x.h" #include "PCF8833.h" #define SD_Disable() IO0SET |= 1 << 20 //SD Chip Select Pin is P0.7 #define SD_Enable() IO0CLR |= 1 << 20 typedef unsigned char INT8U; typedef unsigned short INT16U; typedef unsigned int INT32U; char CMD[]={0x40, 0x00, 0x00, 0x00, 0x00, 0x95}; INT8U SPI_RW(INT8U data) { SSPDR = data; while((SSPSR & 0x01) == 0); return(SSPDR); } void spi_init (void) { INT32U i; /* SSEL is GPIO, output set to high. */ IODIR0 |= 1<<20; IOSET0 = 1<<20; /* SCK1, MISO1, MOSI1 are SSP pins. */ PINSEL1 = (PINSEL1 & ~0x000003FC) | 0x000000A8; /* Enable SPI in Master Mode, CPOL=1, CPHA=1 (Clock low-active). */ SSPCR0 = 0x00C7; SSPCR1 = 0x0002; SSPCPSR = 0xFE; /* Send SPI Command with card not selected at 400 KBit. */ for (i = 0; i < 16; i++) { SPI_RW (0xFF); } /* Enable SSP auto select. */ }
You haven't actually said what help, exactly, you require.
Where are you stuck?
www.lmgtfy.com