#include #include #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); }