Well, what have you tried?
i wrote a code for master and slave which is given below but i got a garbage value from master
i aslo post this question here Arduino Forum i spend a month to comunicate arduinos but still didn't success , first i had used softserial arduino library but it was a bit slow which is not good for my project.
code for Master
#include <SPI.h>
char buf [14];
volatile byte pos=0;
void setup (void)
{
Serial.begin (115200);
digitalWrite(SS, HIGH); // ensure SS stays high for now
SPI.begin ();
SPI.setClockDivider(SPI_CLOCK_DIV128);
} // end of setup
void loop (void)
{
digitalWrite(SS, LOW); // SS is pin 10
delay (1);
for (int i=0;i<14;i++)
buf[i]=SPI.transfer(0);
// disable Slave Select
digitalWrite(SS, HIGH);
Serial.println(buf);
} // end of loop
and for Slave
#include <SPI.h>
char data [14]="Hello world!\n";
volatile boolean process_it;
void setup (void)
{
pinMode(MISO, OUTPUT);
// turn on SPI in slave mode
SPCR |= _BV(SPE);
// get ready for an interrupt
process_it = false;
// now turn on interrupts
SPI.attachInterrupt();
} // end of setup
// SPI interrupt routine
ISR (SPI_STC_vect)
{
process_it = true;
}
// main loop - wait for flag set in interrupt routine
void loop (void)
{
if (process_it)
{
for(int i=0;i<sizeof data ; i++)
SPI.transfer(data[i]);
process_it = false;
}
}