Gast
#1361927
Hi, ich bin gerade dabei eine der SPI-Schnittstellen an meinem Cortex-M3 (STM32F103RBT6) in Betrieb zu nehmen. Zur Übertragung nutze ich den DMA-Controller und frage nachdem ich die Daten übertragen habe ob das DMA1_FLAG_TC gesetzt ist. Nun habe ich Probleme meinen angeschlossenen SPI-Slave zu erreichen bzw. zu initalisieren, dabei ist mir aufgefallen, dass meine CS-Leitung viel zu früh wieder hochghet (SPI-Clock noch aktiv und ein letztes Datenbyte fehlt noch). Diese CS-Leitung wird manuel durch Setzen/Rücksetzen des entsprechenden Pins betrieben, da die NSS-Funktionalität des stm32 nicht richtig bzw. nach meinem Verständins funktioniert. Durch weiteres Debuggen ist mir aufgefallen, dass das DMA1_FLAG_TC zu früh gesetzt wird (dadurch dann auch der CS-Pin), das letzte Byte wird gerade übertragen bzw. steht kurz vor der Übertragung. Ist euch ähnliches passiert beim STM32 mit SPI und DMA? Gibts dafür eine Erklärung bzw. ist das ein bekannter Bug? Gibt es ähnliche Probleme auch beim Empfangen von Daten über SPI? Gruß und danke!