Für die USB Verbindung eines PIC Controllers PIC18F2550 mit unserer Anwendungssoftware unter Windows XP und 7 haben wir bisher ein USB MCD Device verwendet (mpusbapi.dll). Also per Microchip Custom USB Device verbunden. Große Hilfe bei der damaligen Entwicklung war mir die Seite www.sprut.de. Entwickelt wurde alles mit der MPLAB IDE V8.80. Nun möchte ich unsere Komponenten und Software auch für Windows 8, 10 nutzbar machen, leider läuft da nun der alte Microchip Treiber wegen fehlender Signierung nicht mehr. Bei meiner bisherigen Suche im Netz zu alternativen Lösungen bin ich nicht fündig geworden, bin auch mit Englisch nicht so perfekt. Gibt es inzwischen mit der neuen MPLAB X IDE Lösungen für USB die auch unter Windows 10 funktionieren? Also wo ich USB in einem PIC18F2550 zum laufen bekomme. Ein CDC Device per emulierten Comport möchte ich als Lösung nicht nutzen. Ich blicke bei der MPLAB X IDE im Moment noch nicht durch, alles anders als die alte IDE die ich bisher hatte. Hat jemand vielleicht ein Demo Projekt, nur zur Grundlagenforschung?
Wen Microchip keinen neuen Treiber anbietet wirst du da ein problem haben, Sprut nutzt den Org. Treiber mit angepasster config
Schau mal hier http://stefanfrings.de/avr_tools/libusb.html Da geht es zwar um einen anderen Treiber, aber ich schätze, das dieser Workaround auch auf deinen Treiber anwendbar ist.
hmmm, scheinbar auch damit dasselbe Problem wie mit dem microchip Driver. Wir geben unsere Sachen ja auch an Kunden, da kann ich Dinge wie "Treibersignatur deaktivieren" nicht anbieten. Als letzte Rettung wäre dann ja nur ein CDC USB Device, ist aber auch wieder kompliziert, weil man da immer in dieselbe USB Busche nehmen muss, um dieselbe Comport Nummer zu bekommen. Weiterhin hatte ich bei Windows 10 das Problem das der PIC per CDC nicht immer sauber erkannte wird. Unter Windows 7 war das immer perfekt.
Soweit ich weiß ist HID extrem langsam, unsere Software braucht einen gewissen Datendurchsatz
Die theoretischen 64kB/s werden wohl nicht ereichbar sein, aber da geht schon was.
Du kannst Microsoft WinUSB benutzen. Dafür musst Du im Device einen zusätzlichen Deskriptor anlegen, damit Windows weiß, dass es den WinUSB-Treiber laden soll. Siehe https://msdn.microsoft.com/en-us/library/windows/hardware/ff540196(v=vs.85).aspx für die Windows-Seite und https://msdn.microsoft.com/en-us/windows/hardware/gg463179.aspx für die Deskriptoren. fchk
Hi Frank, vielen Dank! Ich hatte schon bisschen über WinUSB gelesen, mal gucken ob ich das irgendwie hinbekomme. Hast Du da zufällig irgendwelche Demos? Am Ende will ich ja wie bei mpusbapi.dll damit irgendwie einen Bootlader und das eigentliche Programm für den PIC18F2550 hinbekommen. Die Windows Seite ist kein Problem, auf der PIC Seite weis ich nicht so recht wie und was da nun für den USB Kram einzubinden ist.
Ich hab Dir da mal eben was rausgesucht: http://www.microchip.com/forums/m790429.aspx https://github.com/mentatpsi/Microchip/tree/master/USB/Device%20-%20WinUSB%20-%20Generic%20Driver%20Demo http://www.janaxelson.com/winusb.htm
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.