www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik stm32- spi-umschaltprobleme


Autor: l0k1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich sitze grad hier verzweifelt vor einem STM32 mikroprozessor mit 
folgendem problem:
ich möchte sowohl SPI1 als auch SPI2 für ziemlich die gleiche Aufgabe 
verwenden. Da der Code zur Ansteuerung ein und derselbe ist möchte ich 
einzelne Funktionen statt komplett im Text zu verdoppeln 2x mit 
verschiedenen umgebungsvariablen aufrufen. (also so wenig wie möglich 
änderungen am Code)

einfach nur einen Pointer einzubauen, der mal auf SPI1, mal auf SPI2 
zeigt funktioniert natürlich nicht (jedenfalls meine ich habe ich mein 
Problem atm darauf eingekreist).

ich hoffe auf vorschläge aller art
(solche, die sich nur auf meine unfähigkeit c zu programmieren beziehen 
kenne ich schon alle, die könnt ihr getrost unterlassen;) )

tia

Frank

Autor: heinzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

die STM32 StdPeriphDriver Lib SPI Funktionen
akzeptieren alle das gewünschte SPI dev als
1. Arg. Wo ist das Problem?

h.

Autor: l0k1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SPI1 bzw SPI2 kann ich reinschreiben,
einen eigenen Pointer also z.B.

static SPI_TypeDef* aSPI;

auch, solang ich den oben direkt mit SPI1/2 initialisiere.

mache ich das später bzw ändere den Wert bleibt das ganze z.B. bei

    while (SPI_I2S_GetFlagStatus(aSPI, SPI_I2S_FLAG_TXE) == RESET);

stehen. Das ist nur eine Stelle, aber sobald eine der SPI_I2S_...- 
Funktionen aufgerufen wird kommt anscheinend keine sinnvolle Antwort 
zurück, sodass das Programm stehen bleibt.

Frank

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.