Hi

mit PIC18 und SPI hab ich keine Erfahrung, nur mit dsPIC30.
Da -zumindest- ist das kein Problem. Bei SPI gibts immer einen Master und einen oder mehrere Slaves. Der Master liefert den ´Takt. Also einen der beiden PICs zum Mster machern - siehe Beschreibung der entsprechenden Register - und den anderen zum Slave. In dem fall kann aber der Slave nicht von sich aus daten an den Master schicken, sondern nur wenn er dazu vom master "aufgefordert" wird. Wenn der master ein zeichen in SPIBUF (so heisst das beim PIC30) schreibt, wird der takt erzeugt und der Slave kann gleichzeitig ein Zeichen an den Master schicken.

Mit I2C hab ich keine Erfahrung, darum weiss ich nicht ob das besser geeignet ist.

gerhard