Hallo Zusammen, leider finde ich keine Doku zu Std-Library 3.1 von STM - die einzige "Doku" ist ein Doxygen-Schrott in Form einer Windows-Hilfedatei, die einzig aus einer "Auflistung" besteht - ohne erklärende Texte- was mir in diesem Fall nicht weiterhilft. Meine Frage: In den mitgelieferten Beispielen wird SPI nur "Simplex" oder Vollduplex benutzt. Mir geht es darum, von einem SPI-Slave (ENC28j60) Daten zu empfangen. Muss ich dafür für jedes zu empfangende Byte auch eines aussenden (z.b. "0"), damit am der CLK-Leitung "gewackelt" wird, oder geht das anders ? Eigentlich soll das ganze via DMA laufen. Muchas Gracias für erhellende Antworten :-)
ARM-Neuling schrieb: > Mir geht es darum, von einem SPI-Slave (ENC28j60) Daten zu empfangen. > Muss ich dafür für jedes zu empfangende Byte auch eines aussenden (z.b. > "0"), damit am der CLK-Leitung "gewackelt" wird, oder geht das anders ? Was SPI angeht musst du das, so arbeitet SPI aus Sicht des Masters. Wie es die Lib dazu hält weiss ich nicht, da ich die nicht verwende. Deren Code ist die ultimative Doku. Edit: Reingesehen: SendData und ReceiveData der Lib sind nur triviale Wrapper um die entsprechenden Registerzugriffe, d.h. im Master gehört zu jedem ReceiveData ein vorheriges SendData. Dessen Daten sind ggf. schnuppe. > Eigentlich soll das ganze via DMA laufen. Dann benötigst du 2 DMA Kanäle für die Transfers, einen raus und einen rein. Unabhängig davon wie herum die Daten fliessen. Allerdings kannst du für beide Kanäle den gleichen Puffer verwenden oder den jeweils unproduktiv mitlaufenden Kanal auf nicht-inkrementierend stellen. Achtung Falle: Wenn der sendende DMA-Kanal durch ist, sind noch nicht alle Bytes empfangen. Das ist der Grund, weshalb auch bei ausschliesslichem Senden ein DMA für den Empfang sinnvoll ist: Der Transfer ist erst dann durch, wenn das Empfangs-DMA durch ist, erst dann darf SS abgeschaltet werden. Einen Automatismus für's Abschalten von SS gibt es beim STM32 leider nicht.
Es gab mal ein super PDF Dokument zur V2.0... leider finde ich die nichtmehr.. hat die Doku zur Lib noch irgendwer gesichert? Soweit ich bisser drübergestolpert bin, hat sich die Bibilothek nicht großartig verändert (ausgenommen CMSIS Kram) Michael
Fragt sich nur ob da mehr drin stand, oder ob das der gleiche Kram nur mit anderem Fileformat war.
Das Problem ist, die Library ist ohne Doku eigentlich nahezu wertlos - Wenn man eh jedesmal in den Quelltext gucken muss, der auch noch etwas unübersichtlich aufgrund der vielen #ifdef ist, man dort aber auch keine sinnvollen Kommentare findet. Also muss man als Einsteiger erforschen, was denn da passiert, dazu muss man dann die Registerbelegung kennen oder nachschlagen... Und dann kann mans auch gleich komlett selbst schreiben. Dann ist wenigstens der Lernfaktor höher :-)
ARM-Neuling schrieb: > Also muss man als Einsteiger erforschen, was denn da passiert, dazu muss > man dann die Registerbelegung kennen oder nachschlagen... Und dann kann > mans auch gleich komlett selbst schreiben. Willkommen im Club!
in dem V2.0 PDF war es eigentlich wirklich gut beschrieben, was welches Flag macht.. sogar mit kurz erläuterten Beispielen... ärgert mich gerade das ich das ncihtmehr finde
Habs gefunden :) Im Firmwarearchive von 2.0.. :) Warum es so eine Doku nicht auch für 3.0 gibt :( Glaub aber die ist zum großteil kompatibel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.