/* SPI Initialsierung und ISR des SLAVE */ #define ARRAY_LEN 22 /* Laenge der rec_ und sen_byte Arrays */ /* Initialization Slave Mode (interrupt controlled) */ static void init_SLAVE_INT(void) { volatile char IOReg; DDRB &= ~((1< Master PD3 Eingang = "HIGH"*/ if(i_spi < ARRAY_LEN) { /* Arraylaenge noch nicht erreicht */ data=SPDR; /* lies & speicher die SPDR Daten in data */ rec_byte[i_spi]=data; /* speicher data in Empfangspeicher */ i_spi++; /* zaehle weiter */ if(i_spi >= ARRAY_LEN) { empfang = 1; /* Arraylaenge ereicht */ } else { SPDR = sen_byte[i_spi]; /* zu sendende Daten in SPDR schreiben */ } PORTD &= ~(1< Master = "0" = INT1 = "1" */ } }