STM32F0 - SPI DMA per Timer compare match triggern - nur ein Byte?

OP #4959509
Lesenswert?
• ▲
▼
Hi!

Ich versuche verzweifelt einen SPI DMA transfer per timer auszulösen.
Ich programmiere mit der libopencm3 und einen STM32F72.

Was ich will ist eigentlich ganz einfach, alle 100ms einen 8 Byte 
transfer starten.
DMA setup funktioniert, wenn ich den SPI transfer manuell trigger sehe 
ich die 8 bytes.

Lasse ich aber nun den Timer1 compare match cc2 den DMA triggern sehe 
ich nur ein byte?!

Grüße,
Simon
OP #4964901
Lesenswert?
• ▲
▼
Bin inzwischen etwas weitergekommen.
Ich setze beim DMA setup die transferlänge auf 8 Bytes.
Es scheint so als ob jeder compare match genau ein Byte überträgt. Das 
ganze dann 8 mal.
Ich hätte jetzt erwartet dass ein compare match den DMA transfer 
initieiert und der dann erst stoppt wenn <len> bytes übertragen wurden.

Grüße,
Simon
#4964939
Lesenswert?
• ▲
▼
Ssss S. schrieb:
> Bin inzwischen etwas weitergekommen.
> Ich setze beim DMA setup die transferlänge auf 8 Bytes.
> Es scheint so als ob jeder compare match genau ein Byte überträgt. Das
> ganze dann 8 mal.
> Ich hätte jetzt erwartet dass ein compare match den DMA transfer
> initieiert und der dann erst stoppt wenn <len> bytes übertragen wurden.
>
> Grüße,
> Simon

Jeder compare Match schickt einen Request an die DMA. Die DMA selbst hat 
verschiedene einstellbare Datenbreiten und einen eigenen 16Bit Zähler.
damit kannst du mit einem Compare event 65536 DMA transfers machen.
OP #4965111
Lesenswert?
• ▲
▼
Das dachte ich auch. Scheint aber aus irgendeinem Grund nicht zu gehen. 
Es wird immer nur ein Byte pro compare match gesendet.
Ist der buffer 0x01 0x02 0x03 ..
sehe ich pro match auch 0x01 0x02 0x03...
Transfer länge steht aber auf 8 byte. Triggere ich per spi tx request 
sendet er auch alle.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.