STM32 SPI: keine kontinuierliche Ausgabe (ohne Pause)?

#7033325
Lesenswert?

Daniel schrieb:
> Nach jedem Byte macht der STM32G0 eine Übertragungspause von ca 1 Clock.
> Bisher war es immer egal, aktuell benötige ich aber ein fortlaufenden
> Datenstream.

Meinst du nicht eher Datastrom? ;-)

> Ist das mit dem SPI-Controller des STM32 möglich?

Keine Ahnung, aber die Lücke sieht mir eher nach einem Softwareproblem 
aus. Wie wird dein SPI angesteuert? Per CPU oder DMA?
Gast #7033380
Lesenswert?

Die Masse kommt über ein STLink, stellt aber hier nicht das eig Problem 
dar. Und angesteuert wird über DMA.
1
response2 = HAL_SPI_Transmit_DMA(&hspi2, pData2, 4);

[Mod: entweder [code] oder [c]. Aber auf jeden Fall klein]
#7033391
Lesenswert?

<< Ist das mit dem SPI-Controller des STM32 möglich?

Hallo,

wie hast Du denn die SPI Schnittstelle konfiguriert?

Es gibt 2 Möglichkeiten.

1) Mit automatischem CS Signal
2) um CS musst Du Dich selber kümmern

bei 1) zieht er nach jedem byte CS auf Low und wieder high. Das dauert 
einen Takt. Sieht also so aus, wie bei Dir.

Also versuche mal die Stelle zu finden, wo Du konfigurierst.

Ich kenne den chip nur in der F4 Version, aber das macht, glaube ich, 
keinen Unterschied. Jedenfalls sollte das gehen.

Martin
#7033440
Lesenswert?

Andreas S. schrieb:
> Zwischen den einzelnen Blöcken/Bytes muss natürlich ggf. noch die
> zugehörige Slave-Select-Leitung deaktiviert und wieder aktiviert werden.

Das sieht doch eher so aus, als wenn er einen Bitmustergenerator bauen 
möchte, oder für Audio missbrauchen, sonst würden die Pausen nicht 
stören.

Für Audio habe ich das mit STM32F411 schon mal gemacht, das geht mit 
zirkularer DMA kontinierlich.

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