Alina Koch schrieb:
> Alternatively, the SPIF bit is cleared by first reading the
> SPI Status Register with SPIF set, then accessing the SPI Data Register
> (SPDR).
>
> Weißt du, wie ich dass dann softwaremäßig lösen müsste?
Schaun wir mal.
Das hier
1 | while(!(SPSR & (1<<SPIF)));
|
2 | bData = SPDR <<8;
|
ist dein Code.
Was steht im Datenblatt
* the SPIF bit is cleared by first reading the SPI Status Register with
SPIF set
Also. SPIF muss im SPSR gesetzt sein.
Die while Schleife
1 | while(!(SPSR & (1<<SPIF)));
|
wird nur dann verlassen, wenn genau das der Fall ist. SPIF ist gesetzt
Was steht weiter im Datenblatt
* then accessing the SPI Data Register (SPDR).
Wie gehts in deinem Code weiter
ich würde sagen, das qualifiziert 100%-ig als 'accessing'.
Fazit: Beide Voraussetzungen erfüllt. -> die Hardware löscht das Flag ->
du brauchst gar nichts tun.
>
> Liebe Grüße