Hallo Zusammen, ich versuche mich gerade am ST USB Host Driver in seiner neuen HAL-Version. Irgendwie ist das Teil alles andere als Robust. Überrascht mich auch wenig, da kaum Rückgabewerte überprüft werden. Nun zu meinem Problem: Ich initalisiere beim Einstecken des USB-Geräts sauber mit dem Init-Callback die Pipes - was im ersten Durchlauf auch sauber funktioniert. Folgende Aufrufe: - USBH_FindInterface (...) - USBH_SelectInterface (...) - USBH_OpenPipe (...) Stecke ich das USB-Device ab, wird das deinit-Callback aufgerufen. Im wesentlichen folgende Methoden - USBH_ClosePipe (...) - USBH_FreePipe (...) Auf Nullpointer wird überall geprüft. Das an- und abstecken geht ein/zweimal gut, dann hängt die ganze Kiste fest. Man sieht das er im Hintergrund noch versucht, den HAL_HCD_Connect_Callback aufzurufen, diese wird aber nicht mehr an die USB Host Lib durchgereicht (ergo keine Klassen-Callbacks mehr aufgerufen). Kenn wer von euch dieses Problem? Muss ich wirklich immer die ganze USB Host Lib neu starten? :-/
Hallo Holger, ich habe hier das gleiche Problem. Mit MSC USB Sticks. Ein paar mal funktioniert das ganze und dann erkennt er die Sticks nicht mehr. Hast du eine Lösung gefunden >Kenn wer von euch dieses Problem? Muss ich wirklich immer die ganze USB >Host Lib neu starten? :-/ Wie machst du das? Gruß Falko
Wenn mit der aktuellen CubeMx Usb-Code für stm32f1 und f4 erzeugt wird, wird beim Deinitialisieren free() auf einen Pointer gerufen der gar keiner ist. Je nach Entwicklungsumgebenung passieren dann die tollsten Dinge als Folge. Kannst ja mal suchen ob solche Leichen auch in deinem Code versteckt sind. Beitrag "STM32CubeMX USB-CDC Fehler im Code"
Das scheint hier nicht der Fall zu sein
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.