Forum: Compiler & IDEs ATmega128 SPI chip select


von Rekisum (Gast)


Lesenswert?

Hallo,

laut Datenblatt des Mega128 wird das SPIF Flag gesetzt
wenn die SPI-Übertragung vollständig ist.
Nach meinen ersten Experimenten scheint es aber eher so zu sein,
dass das Flag kommt wenn ich wieder was ins SPDR schreiben kann.
Da ich mehrere Chips am SPI bedienen muss brauche ich aber ein
halbwegs synchrones Chip Select.
Hat da jemand schon ne Lösung parat?
Danke!

von Peter D. (peda)


Lesenswert?

"...wenn die SPI-Übertragung vollständig ist"

und

"...wenn ich wieder was ins SPDR schreiben kann."

ist beides das gleiche, das SPI hat doch keinen Sendepuffer.

Ich polle auf das SPIF und dann kommt das /CS = 1 deutlich nach der
letzten Taktflanke:

while( !(SPSR & (1<< SPIF)));
SPI_PORT |= (1<<SPI_xADC);


Peter

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
Noch kein Account? Hier anmelden.