SPI between 2 Arduinos one as master and one as slave

skyjumper:
Nick, that is an outstanding link, thanks very much!

Thanks!

I am confused about something though. On the slave Arduino, could I use any pin I liked as slave select, or must it be the SS pin identified in the data sheet (and called pin 10 on an Uno)?

This is a hardware function, so you must use the hardware SS pin, as documented in the datasheet page 167:

When configured as a Slave, the SPI interface will remain sleeping with MISO tri-stated as long as the /SS pin is driven high.

Reading your instruction about using an interrupt pin to tell the slave to start receiving, you seems to imply that this is possible. But, I didn't see any code that told the uC that a different SS pin was being used. Does that mean that the uC does not care, and its just up to the slave code in the sketch to start the receiving process when whatever SS pin is asserted?

I used the words "you would physically connect SS to one of the interrupt inputs", suggesting you would connect pin 10 to pin 2, for the interrupt detection.

Also, you said the interrupt version could be used with any interrupt pin. Is there any reason that a pin change interrupt could not be used?

Quite possible a pin change interrupt on pin 10 would have the same effect, then you don't need two pins, nor the wire.