Forum: Mikrocontroller und Digitale Elektronik ATxmega: SPI


von Alexxx (Gast)


Lesenswert?

Hallo,

ich habe eine Frage zu den SPIs im Mastermodus.
Wird das Interruptflag gleich nach Initialisierung der SPI gesetzt,
oder muss ein erstes Byte (ohne Interrupt) ausgegeben werden und
erst danach wird das Interruptflag gesetzt?
Vieleicht weis jemand bescheid?

von fop (Gast)


Lesenswert?

Alexxx schrieb:
> Vieleicht weis jemand bescheid?

Wahrscheinlich der Hersteller des von Dir benutzten Bausteins. Wenn 
nicht : anderen Baustein einsetzen !

Meist teilt er sein Wissen in sogenannten Datenblättern...

von Beo Bachta (Gast)


Lesenswert?

Alexxx schrieb:
> Vieleicht weis jemand bescheid?

Ja, der Datenblatt weiss Bescheid.


Auszug aus einem ATxMega Datenblatt:

-----------------------------------------------------------------
* Bit 7 – IF: Interrupt Flag

This flag is set when a serial transfer is complete and one byte
is completely shifted in/out of the DATA register. If SS is
configured as input and is driven low when the SPI is in master
mode, this will also set this flag. IF is cleared by hardware
when executing the corresponding interrupt vector. Alternatively,
the IF flag can be cleared by first reading the STATUS
register when IF is set, and then accessing the DATA register.
-----------------------------------------------------------------

von Beo Bachta (Gast)


Lesenswert?

Alexxx schrieb:
> Vieleicht weis jemand bescheid?

... und wenn man der Datenblatt nicht lesen kann oder will dann
probiert man das mit einem einfachen Progrämmchen aus.

von Alexxx (Gast)


Lesenswert?

Hallo,

das Datenblatt habe ich gelesen. Aber aus der Beschreibung kann man nur
erahnen, dass erst ausgegeben werden muss.

>> ... probiert man das mit einem einfachen Progrämmchen aus.
"Vielen Dank".
Da ich erst am Programmieren bin, wollte ich genau das vermeiden
um es gleich richtig zu machen...

von Beo Bachta (Gast)


Lesenswert?

Alexxx schrieb:
> Aber aus der Beschreibung kann man nur
> erahnen, dass erst ausgegeben werden muss.

Nö. In dem zitierten Absatz steht glasklar drin unter welchen
Bedingungen das Interrupt Flag gesetzt wird.

Einzig muss der Benutzer zu der Schlussfolgerung kommen dass
der Interrupt (nicht das Interrupt Flag) nur dann auftritt wenn
der Interrupt Controller entsprechend konfiguriert ist.

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.