STM32F4 HAL SPI über DMA

OP #4313226
Lesenswert?
• ▲
▼
Ich schreibe gerade eine Firmware für meinen LED Cube (16³) und versuche 
mit DMA periodisch 16 HALFWORDs (ein 16² Layer) ins SPI modul zu 
schieben. Ich bin relativ neu mit diesem HAL-lib^^

Der timer funktioniert, breakpoints werden dort aufgerufen, aber spi 
gibt keine Daten aus. Wenn ich SPI manuell benutze (SPI_Transmit...) 
kommt was raus, also muss es irgendwie an meiner Einrichtung vom DMA 
Modul liegen (oder so?).

Code ist im Anhang^^
Kann es etwas mit der Reihenfolge zu tun haben, in der die init 
Funktionen aufgerufen werden?
Angehängte Dateien:
Gast #4315698
Lesenswert?
• ▲
▼
Hallo

Kenne mich mit der HAL nicht aus, aber müsstest Du die peripherien nich 
noch aktivieren, so in der Grössenordnung:

SPI_Cmd(SPI1, ENABLE);
DMA_Cmd(DMA1, ENABLE);
DMA_Cmd(DMA2, ENABLE);

Gruss
derKer
(Firma: HEGRO GmbH) #4474680
Lesenswert?
• ▲
▼
Hi!
Habe mein Projekt auch mal auf HAL geportet. Vor ein paar Wochen bin ich 
wieder zurück zur SPL gekommen, HAL ist für mein Projekt 
kontraproduktiv, weil es zu viele Dinge selber übernimmt. Beispielsweise 
die Interrupt Routinen sind m. E. nach ein Horror. Was gut ist an der 
HAL, sind auf jeden Fall die Makros und viele standard Funktionen. Die 
kann man sich aber notfalls auch in eine kleine Helper-Klasse einbinden 
und nutzen

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.