Aktuelle Zeit: 31.03.2020 16:52

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: mpusbapi.dll funktioniert nicht mehr
BeitragVerfasst: 25.03.2020 11:44 
Offline

Registriert: 22.12.2018 16:07
Wohnort: Viseu de Jos, Rumänien
Hallo Foraner!
Ich habe vor einiger Zeit ein Programm geschrieben, das die mpusbapi.dll https://github.com/mentatpsi/Microchip/blob/master/USB/Tools/MCHPUSB%20Custom%20Driver/Mpusbapi/Dll/Borland_C/mpusbapi.dll mit USB4ALL von Sprut verwendet.
Nun wollte ich das Codefragment wiederverwenden, aber es funktioniert nicht mehr.
Nach langem rumprobieren mit versch. Windows-Versionen habe ich herausgefunden, dass es an der neueren Version von Pure-Basic liegt!
Folgender, aufs Minimum heruntergebrochene, Code ruft die Funktion "_MPUSBOpen" in PureBasic 4.10 korrekt auf, versagt aber mit der Version 5.62 (Rückgabewert -1):

Code:
Selection.l
*SendData = AllocateMemory(64)
*RecvData = AllocateMemory(64)

vid_pid.s   = "vid_04d8&pid_ff0b" ;für Sprut Gerät
out_pipe.s  = "\MCHP_EP1"         ;ein Backslash!
in_pipe.s   = "\MCHP_EP1"
myOutPipe.l = 0
myInPipe.l  = 0

MP_WRITE.l  = 0
MP_READ.l   = 1

Debug "Adresse Vid/Pid: " + Str(@vid_pid.s)
;Debug "Oeffnen der DLL:"
 
 
Ergebnis.l = OpenLibrary(0, "mpusbapi.dll")
Debug "Ergebnis OpenLibrary: " + Str(Ergebnis.l)

Ergebnis.l = CallCFunction(0, "_MPUSBGetDLLVersion")
Debug Str(Ergebnis.l)

Ergebnis.l = CallCFunction(0, "_MPUSBGetDeviceCount", @vid_pid.s)
Debug Str(Ergebnis.l)

myOutPipe.l = CallCFunction(0, "_MPUSBOpen", Selection.l, @vid_pid.s, @out_pipe.s, MP_WRITE.l, 0)
Debug "1. CallCFunction: " + Str(myOutPipe.l)
myInPipe.l  = CallCFunction(0, "_MPUSBOpen", Selection.l, @vid_pid.s, @in_pipe.s, MP_READ.l, 0)
Debug "2. CallCFunction: " + Str(myInPipe.l)

FreeMemory(*SendData)
FreeMemory(*RecvData)
End


Der Aufruf "_MPUSBGetDLLVersion" und "_MPUSBGetDeviceCount" funktionieren nach wie vor!
Was wurde hier geändert und wie krieg ich das wieder hin?

Vielen Dank!
Gruss Chregu

_________________
Gruss Chregu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: mpusbapi.dll funktioniert nicht mehr
BeitragVerfasst: 25.03.2020 12:30 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Evtl. ein String Problem vermutlich wird Ascii anstatt Unicode erwartet.

_________________

Links:
PureBasic Discord
[ENGINE] 2D Engine Nautilus (Win)
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: mpusbapi.dll funktioniert nicht mehr
BeitragVerfasst: 25.03.2020 12:42 
Offline

Registriert: 22.12.2018 16:07
Wohnort: Viseu de Jos, Rumänien
Uauaua! Ja genau, warum bin ich nicht draufgekommen? Werde es ausprobieren und berichten!

Gruss Chregu

Edit: Ja jetzt gehts:

Code:
*out_pipe   = Ascii("\MCHP_EP1")         ;ein Backslash!
*in_pipe    = Ascii("\MCHP_EP1")


Code:
vid_pid.s   = "vid_04d8&pid_ff0b"

geht lustigerweise!

_________________
Gruss Chregu


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye