Appel de fonction de la dll ELANUSB32.dll

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

Bonjour,
J'ai un soucis avec la ELANUSB32.dll
Cette bibliothèque est censé piloter 5 moteurs par l'intermédiaire d'un chip7 qui utilise le port série de l'USB.

http://www.adf34.fr/blitz3D/ElanUsb32.dll

Mon problème est le suivant:
je n'arrive pas à récupérer la version de la dll.
quand j'ouvre la dll avec un fichier texte ,je peut y trouver la fonction: GetDLLVersion par exemple.

Le code ci-dessous plante. Savez-vous comment je peut récupérer la valeur de la version de la dll???

Voici le code source que j'utilise:

Code : Tout sélectionner

If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  
  If OpenLibrary(0, "D:\ElanUsb32.dll")
    res = CallFunction(0, "GetDLLVersion", @pVer)
    MessageRequester("Info","Version : "+Str(pVer))
    CloseLibrary (0)  
  EndIf
  

  
  Repeat
    Event = WaitWindowEvent()

    If Event = #PB_Event_CloseWindow
      Quit = 1
    EndIf

  Until Quit = 1
  
EndIf

End 
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Appel de fonction de la dll ELANUSB32.dll

Message par GallyHC »

Bonjour,

Rien quand regardant ton source (j'ai pas testé). Je ne penses pas que la DLL ce charche car tu indique un chemin et je ne penses pas que cela soit autorisé.

Donc deja mettre la DLL avec le source et ne pas indiqué :

Code : Tout sélectionner

If OpenLibrary(0, "D:\ElanUsb32.dll")
mais plutot faire :

Code : Tout sélectionner

If OpenLibrary(0, "ElanUsb32.dll")
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

J'ai déjà essayer ^^. Je croi que c'est bien plus compliquer !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Appel de fonction de la dll ELANUSB32.dll

Message par Backup »

oui ! faut utiliser les prototypes ....

la fonction en question demande 2 parametres , je ne sais pas a quoi ils correspondent

mais l'appel renvoi un message en Chinois ( Faut compiler en Unicode )

voici comment faire :

Code : Tout sélectionner

Prototype.l appel_fonction (par1$,par2$) ; on creer une variable typé avec les parametres de la fonction qui se trouve dans la dll

If OpenLibrary(0, "ElanUsb32.dll") ; ouvre la dll
	appel_fonction.appel_fonction = GetFunction(0, "GetDLLVersion") ; transmet les parametres de la fonction GetDLLVErsion de la dll dans notre variable typée (genre de structure)
	;et transmission a la variable appel_fontion
	Debug PeekS(appel_fonction (par1$,par2$)) ; on appel la fonction en transmettant les parametres 
	; a partir de notre variable typé (appel_fonction) puis on lit le retour de la fonction ....utilisation du peeks() obligatoire !
	
	CloseLibrary(0) ; on peut fermer la dll
EndIf 
CallDebugger
; EPB





killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

http://www.adf34.fr/blitz3D/lstfuncElanUSB32.png
Image

J'ai utiliser dll export viewer .Afin de tenter de voir la liste des paramètre à entrer.
Je ne comprend pas ton code source @Dobro ,PureBasic Plante.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Appel de fonction de la dll ELANUSB32.dll

Message par Backup »

killer128 a écrit : J'ai utiliser dll export viewer .Afin de tenter de voir la liste des paramètre à entrer.
Je ne comprend pas ton code source @Dobro ,PureBasic Plante.
comment ça il plante ?

tu as une version de Demo ?
plante pas en V4.60
et renvoi
䒋ᐤ䲋ဤ咋తェ譐⑄儐偒䒋ᠤ삅锏凁㢹㹷罹�E
faut compiler avec le Debugger on (F6 avec Japbe ou EPB)

perso , j'utilise DllViewer , qui a l'avantage de donner le nombre de parametres ( mais pas le detail )

Image
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

excuse moi.
‹D$‹L$‹T$jÿP‹D$QRP‹D$…À•ÁQ¹8wèæùÿÿ%ÿ
moi il me renvoi cela dans le debugger.
Bon ,vue que j'ai un retour, je vais tenter d'utiliser la fonction OpenDevice quand je serai chez moi, paceque la Oui je suis au boulot ^^.
Merci pour ton coup de pouce.

J'ai du mal à comprendre quel genre de paramètre doit t-on rentrer comment peut on savoir si on doit mettre un entier, un flottant etc... ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Appel de fonction de la dll ELANUSB32.dll

Message par Backup »

killer128 a écrit : ‹D$‹L$‹T$jÿP‹D$QRP‹D$…À•ÁQ¹8wèæùÿÿ%ÿ
j'ai pourtant précisé , qu'il fallait compiler en UNICODE ( voir les options de l'editeur que tu utilise ) ;)
killer128 a écrit : J'ai du mal à comprendre quel genre de paramètre doit t-on rentrer comment peut on savoir si on doit mettre un entier, un flottant etc... ?
ben c'est le probleme d'utiliser une DLL sans la Doc ...

seule la doc , avec donc les Fonctions, et leur Parametres , peut te donner cette précision

un prg comme Dll Viewer , ne peut que t'indiquer le nombre de parametres , mais pas le details ( tiens ? ne l'avais-je point deja formulé ça ? ) :)

du coup tu testes en aveugle ... pas évident :?

pour Rappel , une DLL , c'est un comprimé de plusieurs fonctions ...
chaque fonction peut avoir 0,1,xxx parametres , et ceux ci peuvent etre de nature divers
( string, numerique , et si numérique , leur longueurs peut avoir de l'importance ( long,Word,Byte...)

bref , essayer d'utiliser une DLL sans la doc , c'est comme vouloir conduire un 747 sans rien y connaitre :)
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

j'arrive à activer l'unicode ,je n'arrive pas à avoir du texte jap. Mais bon ce n'est qu'un détail je ne sais pas lire le japonais.

"conduire un 747" oui je voie Mdr.
J'ai un autre chemin, une autre possibilité.
C'est de dialoguer avec le port USB sans passé par la dll.
HID_Lib_4_60 que j'ai trouvé sur le net.
C'est soit disant une lib pour purebasic pour traiter de l'USB.
Le souci auquelle je me heurte est que avec la source ci dessou.

Code : Tout sélectionner

Procedure HID_DeviceInfo()
ClearGadgetItems(0)
Info.HID_Lib_DeviceInfo
If HID_Lib_DeviceInfo(@Info)
  If Info\CountDevice>0
    For i=0 To Info\CountDevice-1
      AddGadgetItem(0,i,Info\DeviceInfo[i]\Manufacturer)
      SetGadgetItemText(0,i,Info\DeviceInfo[i]\Product,1)
      SetGadgetItemText(0,i,Hex(Info\DeviceInfo[i]\ProductID,#PB_Word)+"H",2)
      SetGadgetItemText(0,i,Hex(Info\DeviceInfo[i]\VendorID,#PB_Word)+"H",3)
      SetGadgetItemText(0,i,Hex(Info\DeviceInfo[i]\VersionNumber,#PB_Word)+"H",4)
      SetGadgetItemText(0,i,Info\DeviceInfo[i]\SerialNumber,5)
      SetGadgetItemText(0,i,Str(Info\DeviceInfo[i]\NumInputBuffers),6)
      SetGadgetItemText(0,i,Str(Info\DeviceInfo[i]\InputReportByteLength),7)
      SetGadgetItemText(0,i,Str(Info\DeviceInfo[i]\OutputReportByteLength),8)
      SetGadgetItemText(0,i,Str(Info\DeviceInfo[i]\FeatureReportByteLength),9)
    Next i
  EndIf
EndIf
EndProcedure


OpenWindow(0,0,0,930,294,"USB HID devices info — HID_Lib  Demo",#PB_Window_MinimizeGadget|#PB_Window_Invisible|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
SmartWindowRefresh(0, 1)

ListIconGadget(0,2,2,924,290,"Manufacturer",100,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
   AddGadgetColumn(0,1,"Product",100)
   AddGadgetColumn(0,2,"PID",48)
   AddGadgetColumn(0,3,"VID",48)
   AddGadgetColumn(0,4,"Version #",90)
   AddGadgetColumn(0,5,"Serial #",104)
   AddGadgetColumn(0,6,"Input buffers number",110)
   AddGadgetColumn(0,7,"Input report size",120)
   AddGadgetColumn(0,8,"Output report size",124)
   AddGadgetColumn(0,9,"FEATURE",70)
HID_DeviceInfo()
HideWindow(0,0)

AddWindowTimer(0, 1, 400)

Repeat
   Event=WaitWindowEvent()
   If Event=#PB_Event_Timer
     If  EventTimer()=1
       HID_DeviceInfo()
     EndIf
     
   ElseIf Event=#PB_Event_SizeWindow
     ResizeGadget(0, #PB_Ignore, #PB_Ignore, WindowWidth(0)-4, WindowHeight(0)-4)
   EndIf
Until Event = #PB_Event_CloseWindow
Il m'est impossible de voir mon module usb. Ni un autre module usb d’ailleurs.
Pourtant je pourrai dialoguer avec ,si je pouvais envoyer des données sur le port.
En utilisant le logiciel "deviceioview" j'ouvre le logiciel pour piloter mon module ,je voie les données échanger via le port USB.
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

Index Handle ControlCode InputBytes OutputBytes Result Name
4 0x0000041C 0x0022000C 0 20 0x00000000 \Device\ElanDrv0
5 0x0000041C 0x0022002C 0 70 0x00000000 \Device\ElanDrv0
6 0x0000041C 0x00220018 1 512 0x00000000 \Device\ElanDrv0
7 0x0000041C 0x00220014 11 0 0x00000000 \Device\ElanDrv0
8 0x0000041C 0x00220010 8 2 0x00000000 \Device\ElanDrv0
9 0x0000041C 0x00220014 11 0 0x00000000 \Device\ElanDrv0
10 0x0000041C 0x00220014 11 0 0x00000000 \Device\ElanDrv0



Input Data: <----------- Reset
00000000 81 .

-----------------------------------------------------------------------------

Output Data <----------- Device info
00000000 D8 FA 3D 03 C0 EE 50 77 00 00 00 00 00 00 44 65 ..=...Pw......De
00000010 63 6F 64 65 50 6F 69 6E 74 65 72 00 08 02 00 00 codePointer.....
00000020 FE FF FF FF 00 00 00 00 99 03 14 73 80 FA 3D 03 ...........s..=.
00000030 94 6C 20 00 80 FB 3D 03 6D D4 4C 77 A1 04 66 07 .l ...=.m.Lw..f.
00000040 FE FF FF FF F0 EA 50 77 DF EC 50 77 00 00 9A 76 ......Pw..Pw...v
00000050 4C FB 3D 03 00 00 00 00 60 FB 3D 03 00 00 00 00 L.=.....`.=.....
00000060 54 FB 3D 03 F2 6C 8C 75 01 00 00 00 D8 8F C2 6E T.=..l.u.......n
00000070 01 00 00 00 D7 17 9F 76 F8 38 83 02 54 FB 3D 03 .......v.8..T.=.
00000080 E1 36 C1 6E 48 C2 C2 6E 90 FB 3D 03 B1 1E C1 6E .6.nH..n..=....n
00000090 0C 00 00 00 9A 1E C1 6E 8E 3C FF 44 00 00 00 00 .......n.<.D....
000000A0 F8 38 83 02 00 00 C0 6E 00 00 9A 76 64 FB 3D 03 .8.....n...vd.=.
000000B0 8C FB 3D 03 D8 FB 3D 03 F0 0C C1 6E 56 9C 00 29 ..=...=....nV..)
000000C0 FE FF FF FF 9A 1E C1 6E 31 E4 C0 6E F8 38 83 02 .......n1..n.8..
000000D0 39 E4 C0 6E 00 00 00 00 02 00 00 00 E8 FB 3D 03 9..n..........=.
000000E0 CE E4 C0 6E 00 00 C0 6E 02 00 00 00 01 00 00 00 ...n...n........
000000F0 84 FC 3D 03 18 E4 21 00 18 E4 21 00 84 FC 3D 03 ..=...!...!...=.
00000100 01 00 00 00 BC FB 3D 03 01 00 00 00 AC 29 85 02 ......=......)..
00000110 00 00 85 02 02 00 00 00 00 00 00 00 84 FC 3D 03 ..............=.
00000120 08 FC 3D 03 01 00 00 00 14 FC 3D 03 C8 AD 50 77 ..=.......=...Pw
00000130 00 00 85 02 01 00 00 00 00 00 00 00 01 00 00 00 ................
00000140 84 FC 3D 03 84 FC 3D 03 01 00 00 00 18 E4 21 00 ..=...=.......!.
00000150 B4 FC 3D 03 71 B4 50 77 40 73 58 77 4E B3 50 77 ..=.q.Pw@sXwN.Pw
00000160 3D 04 14 73 00 E0 FD 7F 00 80 FD 7F 4C 71 58 77 =..s......LqXw
00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000190 00 00 00 00 24 00 00 00 01 00 00 00 00 00 00 00 ....$...........
000001A0 00 00 00 00 70 00 00 00 FF FF FF FF FF FF FF FF ....p...........
000001B0 8F B3 50 77 5E B4 50 77 00 00 00 00 00 00 00 00 ..Pw^.Pw........
000001C0 18 E4 21 00 5C 29 85 02 00 80 FD 7F 94 78 58 77 ..!.\)......xXw
000001D0 2C FC 3D 03 00 00 00 00 F0 FC 3D 03 6D D4 4C 77 ,.=.......=.m.Lw
000001E0 E1 05 66 07 FE FF FF FF 4E B3 50 77 DC 59 4F 77 ..f.....N.Pw.YOw
000001F0 51 B1 50 77 89 05 14 73 00 00 00 00 00 00 00 00 Q.Pw...s........

------------------------------------------------------------------------------

Input Data:
00000000 40 06 00 01 00 00 02 00 00 00 00 @..........

------------------------------------------------------------------------------

Input Data:
00000000 80 06 00 0A 00 00 02 00 ........

------------------------------------------------------------------------------

Output Data
00000000 7F 40 @

------------------------------------------------------------------------------

Input Data: ^^ debut des controls moteur
00000000 40 06 00 01 00 00 02 00 04 00 00 @..........

------------------------------------------------------------------------------

Input Data: <---------- control position arret
00000000 40 06 00 01 00 00 02 00 00 00 00 @..........

------------------------------------------------------------------------------

Input Data: <---------- fin de la connection
00000000 81 .

------------------------------------------------------------------------------
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Appel de fonction de la dll ELANUSB32.dll

Message par falsam »

killer128 a écrit :J'ai un autre chemin, une autre possibilité.
C'est de dialoguer avec le port USB sans passé par la dll.
HID_Lib_4_60 que j'ai trouvé sur le net.
C'est soit disant une lib pour purebasic pour traiter de l'USB.

Il m'est impossible de voir mon module usb. Ni un autre module usb d’ailleurs.
Bonjour, Tu as bien installé la lib "HID_Lib" dans le dossier contenant Pure Basic ?

Si non voici le lien http://narod.yandex.ru/100.xhtml?pure-b ... b_4_60.zip

je ne connais pas cette lib et ne peut te donner plus d'explication sur la façon de procéder. ça n'a plus de rapport avec ton driver elanusb32 ? :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

@falsam oui c'est cette lib.
Pour l'installation j'ai tout simplement copier puis coller les fichiers dans les dossier respectif de pure basic.

ElanUSB32.dll est une dll
le driver j'en est un il se nome : elanusb.inf
voila ce qui il à dedan:
; Installation file for ELAN USB Device
;
; (c) Copyright 2007 ELAN
;

[Version]
Signature="$Chicago$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
Provider=%ELAN.Corp%
DriverVer=06/20/2007,1.1.1.1
CatalogFile=elanusb.cat

[SourceDisksNames]
1=%Disk%,,,\x86
2=%Disk%,,,\ia64
3=%Disk%,,,\amd64

[SourceDisksFiles]
elanusb.sys=1

[SourceDisksFiles.x86]
elanusb.sys=1

[SourceDisksFiles.ia64]
elanusb.sys=2

[SourceDisksFiles.amd64]
elanusb.sys=3

[Manufacturer]
%ELAN.Corp% = ELAN, NTx86, NTia64, NTamd64

[ELAN]
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_04f3&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1267&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1B47&PID_0001

[ELAN.NTx86]
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_04f3&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1267&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1B47&PID_0001

[ELAN.NTia64]
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_04f3&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1267&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1B47&PID_0001

[ELAN.NTamd64]
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_04f3&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1267&PID_0000
%USB\ElanDevice.DeviceDesc%=ELANUSB.Dev, USB\VID_1B47&PID_0001

[DestinationDirs]
ELANUSB.Files.Ext=10,System32\Drivers

[ELANUSB.Dev]
CopyFiles=ELANUSB.Files.Ext
AddReg=ELANUSB.AddReg

[ELANUSB.Dev.Services]
AddService = ELANUSB, %SPSVCINST_ASSOCSERVICE%, ELANUSB.AddService

[ELANUSB.AddService]
DisplayName = %ELANUSB.ServiceName%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %10%\System32\Drivers\elanusb.sys
LoadOrderGroup = Base

[ELANUSB.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,elanusb.sys
HKR,"Parameters","MaximumTransferSize",0x10001,4096
HKR,"Parameters","DebugLevel",0x10001,2
HKR,"Parameters","BulkUsbEnable",0x10001,1


[ELANUSB.Files.Ext]
elanusb.sys

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Strings

[Strings]
Disk="Installation Disk"
ELAN.Corp="ELAN"
USB\ElanDevice.DeviceDesc="ELAN USB Device"
ELANUSB.ServiceName="ELAN USB IO driver"

SPSVCINST_ASSOCSERVICE=0x00000002 ; Driver service is associated with device being installed
COPYFLG_NOSKIP=2 ; Do not allow user to skip file
SERVICE_KERNEL_DRIVER=1
SERVICE_AUTO_START=2
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1
j'ai aussi un fichier qui s'appel "elanusb.cat"
en mettant des noms de fichier c'est plus parlant.

Pour répondre à la dernière question , je ne sais pas
je tente de trouver une solution qui marcherai, avoir la possibilité de piloter le bra robotique à l'aide d'une source ,Pour réaliser par exemple la possibilité de faire un tracé sous paint et de réaliser une gravure sur du bois.
Je suis tomber sur ce projet ,une alternative tentante pour réaliser ce que j'ai dans l'idée de faire.
http://luckylarry.co.uk/arduino-project ... robot-arm/
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Appel de fonction de la dll ELANUSB32.dll

Message par Backup »

pour l'Arduino , un post a été ecris récemment
http://www.purebasic.fr/french/viewtopi ... it=arduino
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

Re: Appel de fonction de la dll ELANUSB32.dll

Message par killer128 »

J'ai un autre module, il s'appel le K8055 USB.
Image
J'utilise la dll http://www.adf34.fr/blitz3D/K8055D.DLL

Code : Tout sélectionner

Prototype.l mod_OpenDevice (par1.b)
Prototype.l mod_CloseDevice()
Prototype.l mod_WriteAllDigital(Donees.b)


If OpenLibrary(0, "K8055D.DLL")
  mod_OpenDevice.mod_OpenDevice= GetFunction(0,"OpenDevice")
  mod_WriteAllDigital.mod_WriteAllDigital= GetFunction(0,"WriteAllDigital")
  mod_CloseDevice.mod_CloseDevice= GetFunction(0,"CloseDevice")
  
  mod_OpenDevice ($01)
  mod_WriteAllDigital($AA)
  Delay(5000)
  mod_WriteAllDigital($00)

  mod_CloseDevice()
   
  CloseLibrary(0) ; on peut fermer la dll
EndIf
CallDebugger
; EPB


;mod_OpenDevice(CardAddress%) : "OpenDevice"
;mod_CloseDevice() : "CloseDevice"
;mod_ReadAnalogChannel%(channelNo) : "ReadAnalogChannel"
;mod_ReadAllAnalog(Data1,Data2) : "ReadAllAnalog"
;mod_OutputAnalogChannel(Channel%,Data%) : "OutputAnalogChannel"
;mod_OutputAllAnalog(Data1,data2) : "OutputAllAnalog"
;mod_ClearAnalogChannel(channel%) : "ClearAnalogChannel"
;mod_ClearAllAnalog() : "ClearAllAnalog"
;mod_SetAnalogChannel(channel%) : "SetAnalogChannel"
;mod_SetAllAnalog() : "SetAllAnalog"
;mod_WriteAllDigital(Data%) : "WriteAllDigital"
;mod_clearDigitalChannel(channel%) : "clearDigitalChannel"
;mod_ClearAllDigital() : ClearAllDigital
;mod_ReadDigitalChannel%(Channel%) : "ReadDigitalChannel"
;mod_ReadAllDigital%(Buffer) : "ReadAllDigital"
;mod_ResetCounter(CounterNr%) : "ResetCounter"
;mod_ReadCounter(CounterNr%) : "ReadCounter"
;mod_SetCounterDebounceTime(CounterNr%,DebounceTime) : "SetCounterDebounceTime"
;mod_SearchDevices%() : "SearchDevices"
;mod_SetCurrentDevice(CardAddress%) : "SetCurrentDevice"
;mod_Version() : "Version"
Je n'est aucun souci pour le programmer.
Ils ne pourrai pas faire plus simple. C'est tellement compliquer des fois.
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Appel de fonction de la dll ELANUSB32.dll

Message par Mesa »

Pour info la lib HID_Lib_4_60 fonctionne bien chez moi, elle découvre ma souris :D
avec purebasic 4.61 et xp 32bits

Mais cette lib est faite pour une version 32bits de windows et il ne faut pas s’occuper du "subsytems".
Il existe une version 64 bits HID_Lib_PB_4.50_x64.zip.

Mesa.
Répondre