Hey ExKluski,
schau Dir mal diesen Slave Code an:
Quelle: http://www.mikrocontroller.net/topic/12197Code:#include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> volatile unsigned char data; unsigned char status; SIGNAL (SIG_SPI) { data = SPDR; if (data == '1') PORTD = 0x00; //LEDs an if (data == '0') PORTD = 0xff; //LEDs aus } void slave_init (void) { DDRB |= _BV(PB4); //MISO als Ausgang, der Rest als Eingang SPCR = _BV(SPE) | _BV(SPIE); //Aktivierung des SPI + Interrupt status = SPSR; //Status löschen } int main (void) { DDRD = 0xff; slave_init (); sei (); for (;;); return 0; }
Es ist schwer Deinem Code etwas zu entlocken, wie sieht der Rest aus, hast Du alle nötigen includes? Wie sieht Deine main() aus?
Ist Deine Schaltung korrekt?
Gruß







Zitieren

Lesezeichen