stm32- spi-umschaltprobleme

Gast #1632631
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
Gast #1632842
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.