1) на обоих МК настраиваем SPI (мастер-слейв, скорость и пр. - обычно это пара регистров)
2) когда нужно передать информацию, опускаем ногу CS у мастера и кидаем ему в регистр SPDR байт, который нужно передать, если нужно передать более 1 байта, ждем конца передачи (по флагу или по прерыванию) и кладем в SPDR следующий байт.
3) на слейве ловим прерывание от SPI и читаем SPDR.
Вот и все.
Точно также UART, I2C, только регистры и настройка другие.


