No debería ser un problema. El Chipselect del acelerómetro es el pin 10, y el del escudo de la tarjeta SD es 7.
Lo que significa que puedes usar una tabla a la vez, siempre que configures su selección de chips en ALTO una vez que hayas terminado con ella.
Básicamente, el código habitual para acceder al acelerómetro es el siguiente (de aquí , solo las partes relevantes):
int CSa=10; //Chipselect for accelerometer
void writeRegister(char registerAddress, char value){
//Set Chip Select pin low to signal the beginning of an SPI packet.
digitalWrite(CSa, LOW);
//Transfer the register address over SPI.
SPI.transfer(registerAddress);
//Transfer the desired register value over SPI.
SPI.transfer(value);
//Set the Chip Select pin high to signal the end of an SPI packet.
digitalWrite(CSa, HIGH);
}
//This function will read a certain number of registers starting from a specified address and store their values in a buffer.
//Parameters:
// char registerAddress - The register addresse to start the read sequence from.
// int numBytes - The number of registers that should be read.
// char * values - A pointer to a buffer where the results of the operation should be stored.
void readRegister(char registerAddress, int numBytes, char * values){
//Since we're performing a read operation, the most significant bit of the register address should be set.
char address = 0x80 | registerAddress;
//If we're doing a multi-byte read, bit 6 needs to be set as well.
if(numBytes > 1)address = address | 0x40;
//Set the Chip select pin low to start an SPI packet.
digitalWrite(CSa, LOW);
//Transfer the starting register address that needs to be read.
SPI.transfer(address);
//Continue to read registers until we've read the number specified, storing the results to the input buffer.
for(int SPI.transfer(0x00);
}
//Set the Chips Select pin high to end the SPI packet.
digitalWrite(CSa, HIGH);
}
Tenga en cuenta que el pin CSa se hace BAJO antes de leer / escribir, y se establece en ALTO una vez que haya terminado con él.
Asegúrese de hacer lo mismo con la selección de chips para el protector de la tarjeta SD: mantenga su selección de chips en ALTO cuando no esté en uso, y en BAJO solo durante el tiempo que desee comunicarse con él.