SPI STM32 ungewollter Empfangsinterrupt

OP #3022515
Lesenswert?

Hallo,


ich nutze einen STM32 mit SPI und DMA. Leider bekomme ich RX-Interrupts 
der DMA, obwohl weder Takt auf SCK noch Daten an MISO auf dem Bus 
anliegen. Die angeblich empfangenen Daten sind demnach 0x00 (in SPI-Mode 
0). Senden funktioniert einwandfrei über DMA und beim Slave (auch ein 
STM32) kommt das Gesendete auch an. Eigentlich sollte, wenn ich den 
Slave anhalte, kein Empfangsinterrupt stattfinden. Wie ist das zu 
erklären?

Mein MISO-Pin ist am Master als In Float und am Slave als Out AF push 
konfiguriert.



Vielen Dank und viele Grüße
Gast #3022541
Lesenswert?

Hast Du Deine DMA Register (insbes. Zähler, Adressen) nach dem
Interrupt mal überprüft?
Ist das tatsächlich der RX-Interrupt des DMA Controllers
oder ein Interrupt des SPI Blocks?
Gast #3022549
Lesenswert?

>kein Empfangsinterrupt stattfinden.

Bei SPI wird aber (normalerweise) gleichzeitig gesendet
und empfangen. Der RX-Interrupt könnte daher dann kommen, wenn Du eine
bestimmte Anzahl Bytes gesendet hast, die der programmierten 
DMA-Blockgrösse
für den Empfang entspricht.
Oder benutzt Du einen Halb-Duplex Mode?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren