MPUSBAPI.DLL (FreeBasic)

Iniciado por Oceano2012, 31 Mayo 2010, 17:44 PM

0 Miembros y 1 Visitante están viendo este tema.

Oceano2012

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