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

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