diff --git a/sketch_apr13a.ino b/sketch_apr13a.ino new file mode 100644 index 0000000..4fc095d --- /dev/null +++ b/sketch_apr13a.ino @@ -0,0 +1,39 @@ +#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); + +}