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. */ }
If _you_ want to port code between these two processors, don't _you_ then think that the processor documentation published by the two processor manufacturers would be good references?
You have posted some random code you have found, but have not indicated that you have done any own work at all. Have you heven tried to look for code or documentation for your processor?
You say that this is important to you, but you aren't showing us that it is important by showing exactly how hard you are working on solving this problem.