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
Hi, die STM32 StdPeriphDriver Lib SPI Funktionen akzeptieren alle das gewünschte SPI dev als 1. Arg. Wo ist das Problem? h.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.