Hallo ... ich habe eine Frage bezüglich USB auf dem PIC32 bzw USB generell. Ich habe einen Bootloader der über ein Virtuellen COM Port meinen PIC32 flasht. Läuft soweit gut. Wenn mein Bootloader aber nun die Applikation startet kann ich in meiner Applikation USB nicht mehr initialisieren bzw "erneut" initialisieren, da der Windows PC ja "denkt" das Gerät ist noch dran. Demnach kommt in meiner Anwendung auch kein erneutes VBUS_ON Event mitdem ich eine erneute USB-Verbindung aufbauen könnte. Umgekehrt habe ich das Problem ja auch, das wenn meine Applikation in den Bootloader wechseln muß, die USB-Verbindung "logisch" unterbrochen wird, da der uC sich ja Resettet, aber die Leitung noch "offen" ist. Sehe ich das richtig, oder habe ich das was übersehen ? Gibt es irgendeine Möglichkeit die USB-Kommunikation erneut "anzutriggern" ? Auch für den Fall das ich z.b. neben einer seriellen Schnittstelle per Knopfdruck ein Massenspeichergerät hinzufügen möchte müsste ich ja eine erneute Enumeration veranlassen. Gibt es da Möglichkeiten ohne das gerät anzustöpseln und wieder anzustecken ? Oder habe ich nur einen Gedankenfehler und das ganze geht mit ein paar "Kniffen" recht einfach ?
Mach einfach den 1k5 Widerstand nach 3V3 aus für einige Sekunden. Falls das nicht geht: USB Pins auf GPIO Output umstellen und ein Low ausgeben. Das ist dann entweder ein USB Reset oder ein Disconnect, je nachdem wie lange der Zustand andauert.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.