I think it'd be simplest to either have the master poll the slave often enough to get what's needed from the slave, or have another line from the slave back to the master that is pulled low when the slave needs attention. On finding this line low, the master would poll the slave. If you use the RA4 output on the slave, which is an open drain output, you can have multiple slaves able to pull the line low. When the master finds it low, it polls each slave to see if it is the one needing attention. Once the slave is serviced, it releases the RA4 line. You'd also need a pull-up at the input pin on the master. The line that indicates it needs attention could, if you want, generate an interrupt, or could just be polled frequently. If you are just passing 8 bits back and forth, I'd probably just poll unless the system is really fast and timing is critical. At some point in your main program loop, the master pulls the last data received out of the SPI buffer and stuffs new data into it, causing it to be transmitted to the slave. The slave, on finding new data, takes it, acts on it, and stuffs new data in the SPI buffer. The master would pick this data up on the next poll. Good luck! Harold > Thanks for the overview. It leads me to another question. > > These both PICs need to be able to initiate communications. Since the > master is the one running the show, can I switch from slave to master mode > and start talking? > > Would it be simpler to dedicate the needed number of pins on each PIC, and > have them pass info back and forth just using bit status? > > Thanks, > > Jim -- FCC Rules Online at http://www.hallikainen.com -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads