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;
}
Thomas Frosch schrieb: > USICR |= (1<<USIWM0) | (1<<USICS1); // Three-wire Mode + > USICR = (1<<USIOIE); Und welche Bits sind wohl in USICR nach ausführen dieser beiden Zeilen gesetzt? Kleiner Hinweis: es ist nur ein einziges.
Ach ne. So ein Sch***. Immer diesen blöden Tippfehler die man dann auch noch 1000x überliest. vielen Dank!! werd mal probieren obs so funktioniert!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.