Forum: Mikrocontroller und Digitale Elektronik stm32- spi-umschaltprobleme


von l0k1 (Gast)


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

von heinzi (Gast)


Lesenswert?

Hi,

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

h.

von l0k1 (Gast)


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

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.