I am working on a project where the "opportunity" just came up to use the SPI interface and let two AVRs communicate with each other via SPI.
The problem is that the /SS pin is already committed and it would take a board turn to free that pin up. Besides, it isn't even connected on the ISP programming header which I did put on my boards and is obviously used for AVR to AVR communications during programming.
The way I read the datasheet for the SPI functionality, it looks like you need the /SS pin to even activate the SPI functionality in slave mode. It apparently doesn't matter in master mode though the examples show it being tied to the slave to turn the slave's SPI function on and off remotely.
What I'd like to do is connect two boards with a 6-pin ribbon cable and use the stock ISP interface.
The questions - is there a workaround (besides bit-banging)? During ISP programming, the "master" holds reset low and that allows reaching into the device for writing to memory. I just want to communicate.
It sure would be handy just to connect up a ribbon and use the built-in SPI functionality but I'm thinking I can't and my only solution if I want ISP *and* SPI is to have two separate headers - one with the /SS pin for SPI and one without that has the conventional pinout for ISP.
Anyone able to shed some light?