Hi,
ich habe hier einen STM32F466, für den ich den Basiscode per CubeMX erzeugen lasse. Dort ist SPI1 als "transmit only" mit einem Prescaler von 4 und damit einer Baudrate von 22,5 MHz sowie "Hardware NSS Signal" als disabled konfiguriert. Mein Problem: ich sehe weder den Clock des SPI noch die Daten, wenn ich das DR-Register beschreibe. Die Inizialisierung ist generierter Code:
1 |
|
So weit ich das sehe, wird da alles initialisiert, inklusive des korrekten Pin-Mappings.
Was ich nicht sehen kann, ist die aktivierung des SPI-Moduls, die hole ich selber nach:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Das Senden der Daten ist simpel gehalten, es wird erst überprüft, ob der Sendebuffer leer ist, dann wird der nächste 8-Bit-Wert geschrieben:
1 |
|
2 |
|
Allein, an PA5 (CLK) und PA7 (DATA) ist nichts zu sehen.
Die Clocks ABP1 und ABP2 sind gesetzt und aktiv, sollte also auch passen. Würde mit den Clocks was nicht stimmen, sollte SPI_FLAG_TXE ja auch nie gesetzt werden und der code würde auf ewig darauf warten, dass der Sendebuffer leer wird.
Woran könnte es noch liegen, dass am Ausgang nichts zu sehen ist?
Danke!