Hola!
Estoy intentando acceder a la librería MPUSBAPI.DLL (que sirve para poder acceder a los microcontroladores de la serie 18Fxx5x por USB), pero no lo consigo. Sabe alguien cómo poder acceder a ella a través de FreeBasic?
Las funciones más importantes son estas:
* MPUSBOpen
* MPUSBRead
* MPUSBWrite
* MPUSBClose
* MPUSBGetDeviceCount
Os pongo lo que llevo hecho de momento sin resultado satisfactorio:
Código:
Cls
Const MPUS_FAIL = 0
Const MPUSB_SUCCESS = 1
Const MP_WRITE = 0
Const MP_READ = 1
Const MAX_NUM_MPUSB_DEV = 127
Const Vid_Pid = "VID_04D8&PID_000A"
Const Outpipe = "\MCHP_EP3"
Const Inppipe = "\MCHP_EP3"
Dim As UInteger MyInpPipe
Dim As UInteger MyOutPipe
Dim As Integer Count
Dim As Any Ptr hLib
hLib = DylibLoad( "mpusbapi.dll" )
If hLib = 0 Then End
Dim Version As Function () As UInteger
Dim OpenUSB As Function ( ByVal As UInteger, ByVal As String, ByVal As String, ByVal As UInteger, ByVal As UInteger) As Integer
Dim ClosUSB As Function ( ByVal As String ) As Integer
Dim DevCont As Function ( ByVal As String ) As Integer
Version = DyLibSymbol( hLib, "_MPUSBGetDLLVersion" )
OpenUSB = DyLibSymbol( hLib, "_MPUSBOpen" )
ClosUSB = DyLibSymbol( hLib, "_MPUSBClose" )
DevCont = DyLibSymbol( hLib, "_MPUSBGetDeviceCount" )
Count = DevCont(Vid_Pid)
If (Count > 0) Then
MyOutPipe = OpenUSB( 0, Vid_Pid, Outpipe, MP_WRITE, 0 )
MyInpPipe = OpenUSB( 0, Vid_Pid, Inppipe, MP_READ, 0 )
Else
Print "Failed to open data pipes.!"
Sleep
End
EndIf
ClosUSB ( Outpipe )
Sleep
End