SPI per Interrupt?

#1528858
Lesenswert?

Hi zusammen!

Ich suche im Moment einen Gedankenanstoß :)

Mache mir grad Gedanken über meine SPI-Kommunikation.
In nahezu jedem Programmbeispiel wird vor dem Übergeben des Datenbyte an 
SPDR im SPSR auf SPIF geprüft.
Nun stelle ich mir die Frage ob man das nicht eleganter per Interrupt 
löst...?

In der Wartezeit auf SPIF vergehen 16 Takte bei höchster 
SPI-Geschwindigkeit. 16 Takte stupides warten um im Grunde zwei Befehle, 
je einen Takt, auszuführen.
Würde ich jedoch nicht aktiv warten, sondern per SPI-Interrupt das 
nächste Byte übergeben, bedeutet es dass ich für das Aufrufen und das 
Verlassen der ISR schon 7 Takte benötige zzgl. pushen/poppen von 
AVR-GCC.
Sehe ich das richtig? Würde ja heissen das eine ISR gesteuerte 
SPI-Übertragung nicht mehr lohnt wenn man den SPI-Takt schon auf max 
hat, oder?

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