#include <avr/io.h>
#include <util/delay.h>

#define SPI_MISO 5

#define SPI_PORTX PORTB
#define SPI_DDRX DDRB

void SPI_SlaveInit(void)
{
   /* Настройка ножки порта MISO как выход,
      все остальные сигналы как вход: */
   SPI_DDRX = (1 << SPI_MISO);
   /* Разрешить работу SPI: */
   SPCR = (1 << SPE);
}

char SPI_SlaveReceive(void)
{
   /* Ожидание завершения приема: */
   while(!(SPSR & (1 << SPIF)));
   /* Чтение принятых данных и возврат: */
   return SPDR;
}

void setup() {
    SPI_SlaveInit();
    Serial.begin(9600);
    Serial.println("Arduino 2 started");
}

void loop() {
  SPDR = 0;
  char str[2];
  str[0] = SPI_SlaveReceive(); // Прием данных
  str[1] = '\n';
  Serial.println(str);
  
}