Forum: Mikrocontroller und Digitale Elektronik ATxmega: SPI


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexxx (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
2 lesenswert
nicht 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)


Bewertung
-2 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-2 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.