Atiny als SPI Slave Interrupt funktioniert nicht.

Gast #2158845
Lesenswert?

Hi,

möchte meinen Atiny2313 als SPI Slave verwenden. Ich kann auch schon 
Daten empfangen, jedoch nur wenn ich auf das Flag warte. Nun möchte ich 
Daten gerne per Interrupt empfangen. Dazu habe ich den USI_OVERFLOW 
Vector genommen. Ich denke jedoch, dass ich irgendwas nicht richtig 
verstanden habe. Ist es überhaupt möglich beim Empfang einen Interrupt 
auslösen zu lassen? Möchte keine zusätzlichen Timer verwenden!

meine Konfiguration sieht im moment so aus

...

DDRB  |= (_BV(PB6));  // MISO
PORTB |= (_BV(PB7));  // UCSK
PORTB |= (_BV(PB5));  // MOSI

USICR |= (1<<USIWM0) | (1<<USICS1); // Three-wire Mode +
USICR = (1<<USIOIE);

USIDR = 'a';
USISR = (1<<USIOIF);

...


ISR(USI_OVERFLOW_vect)
{
  SET_YELLOW;
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren