14.1.2. Master Modus
Wenn das SPI als Master konfiguriert ist (MSTR im SPCR gesetzt), kann der Anwender die Richtung des SS Pins bestimmen.
Wenn SS als Ausgang konfiguriert ist, ist er ein allgemeiner Ausgangspin, der die Funktion des SPI nicht beeinflusst. Gewöhnlich wird der Pin mit dem SS Pin des Slaves verbunden.
Wenn SS als Eingang konfiguriert ist, muss er auf High gehalten werden um die Masterfunktion sicherzustellen. Wenn der SS Pin durch die Peripherie auf Low gezogen wird, während die SPI als Master mit SS Pin als Eingang konfiguriert ist, wird das SPI System dies so interpretieren, als sei sie von einem anderen Master als Slave angesprochen worden und damit beginnen Daten an den vermeintlichen Master zu senden. Um Buskollisionen zu vermeiden führt das SPI System dann folgende Aktionen durch:
1. Das MSTR Bit im SPCR Register wird gelöscht und das SPI System wird zum Slave. Als Ergebnis davon, dass das SPI zum Slave wird, werden die MOSI und SCK Pins zu Eingängen
2. Das SPIF Flag im SPSR wird gesetzt und wenn der SPI Interrupt freigegeben ist und das I-Bit im SREG gesetzt ist wird die Interruptroutine ausgeführt.
Wenn also eine Interruptgesteuerte SPI Übertragung im Mastermodus verwendet wird und die Möglichkeit besteht, dass der SS Pin auf Low gezogen wird, so muss die Interruptroutine immer überprüfen, ob das MSTR Bit noch gesetzt ist. Wenn das MSTR Bit durch einen Salve Select gelöscht wurde, so muss es durch die Software wieder gesetzt werden, um den SPI Mastermodus wieder einzuschalten.