Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Lire une trame USB-HID de 64 octets avec Visual Basic 2008

Envoyé par Krypton 
Lire une trame USB-HID de 64 octets avec Visual Basic 2008
dimanche 1 avril 2012 17:30:26
Bonjour,

J'aimerais savoir comment lire une trame USB de 64 octets en un seul bloc avec VB2008. Je réussi présentement à le faire d'une très mauvaise manière en lisant 64 fois un octet, résultat, ça prend 64 ms au lieu de 1 ms. J'utilise la procédure suivante trouvée dans VB:

    Private Sub usb_OnDataRecieved(ByVal sender As Object, ByVal args As DataRecievedEventArgs) Handles Usb.OnDataRecieved

        If InvokeRequired Then
            Invoke(New DataRecievedEventHandler(AddressOf usb_OnDataRecieved), New Object() {sender, args})
        Else
            Dim rec_data As Byte
            For Each myData As Byte In args.data
                rec_data = myData
            Next myData
            Valeur = rec_data
            Lecture()
        End If
    End Sub

Cette procédure reçoit seulement un octet à la fois, j'aimerais bien trouver comment la remplacer ou la modifier pour recevoir ma trame de 64 octets d'un seul coup.

Merci d'avance pour toute aide.

Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
dimanche 1 avril 2012 20:59:22
Salut,

Enfait, je vais être franc, je ne comprends rien a ton code ;-)

For Each myData As Byte In args.data
                rec_data = myData
            Next myData
Tu lis tous les éléments de args, donc je suppose chaque élement du tableau de 64 octet? mais tu écrases ta variable rec_data a chaque fois

Ou as-tu trouver ce code?

Benjamin

.: [www.roboticus.org] :. Control your own world !
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
lundi 2 avril 2012 01:24:51
Salut Benjamin,

Content de voir qu'un autre ne comprend pas ce bizarre de code! smiling smiley

Je n'arrive pas à retrouver d'où vient ce code mais il me semble que c'était un exemple dans Visual Basic .NET 2008. Peu importe... Aucune aide dans VB non plus et presque rien sur le net...

Aurais-tu une procédure qui ressemble à ça dans tes applications HID, même en C ou en C# ça m'aiderait énormément. Il me manque seulement cette petite partie pour terminer mon interface USB-CAN, j'ai réussi à faire tout le reste grace aux infos que tu m'avais données avant Noel.

Prochaine,
Richard.
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
lundi 2 avril 2012 14:27:33
C# J'ai, je regarde pour retrouver ça et je poste ;-)

.: [www.roboticus.org] :. Control your own world !
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
mardi 3 avril 2012 17:23:08
Salut,

Voilà j'ai remis la main dessus, c'est un code que j'avais fais pour une application bien précise, tu devras peut-être l'adapter un peu:

[www.roboticus.org]

En gros, si je me souviens bien:

Tu instancies la class en précisant le PID et le VID
Dans la class il y a un event, dès que la carte envoie quelque chose, elle le reçoit et mets une variable à 1 pour dire qu'elle à reçu quelque chose. Tu récupère alors au travers de getdata et envoi au travers de senddata. Tu peux sans problème modifier a ta guise pour faire autre chose

D'ailleurs si tu réécris en C# quelque chose de plus "standard", ça m'intéresse

Benjamin

.: [www.roboticus.org] :. Control your own world !
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
mercredi 4 avril 2012 13:54:23
Salut Benjamin,

Ça marche!!! Merci pour l'exemple, je ne l'ai pas utilisé tel quel mais ça m'a inspiré pour refaire ma procédure qui fonctionne très bien maintenant.

Encore un gros merci.

Richard.
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
jeudi 5 avril 2012 13:22:08
Super!

.: [www.roboticus.org] :. Control your own world !
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
mercredi 19 septembre 2012 14:07:25
Bonjour, je suis nouveau sur ce site.

Pour un projet, j'ai besoin de lire des trames HID.

J'ai essayé avec vôtre programme mais je ne sais pas se que je doit faire de la dll car quand je l'importe dans mon projet il ne l'accepte pas.

Cordialement
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
jeudi 20 septembre 2012 18:19:48
Salut,

Quel est le message d'erreur?

Tu travailles en VB ou C#?

Es-tu parti d'un code d'exemple du web?

Bàt

.: [www.roboticus.org] :. Control your own world !
Re: Lire une trame USB-HID de 64 octets avec Visual Basic 2008
jeudi 20 septembre 2012 18:27:50
Salut

Merci pour ton aide !

J'ai repris le code que ta poster plus haut,

Je développe en C# sous Microsoft Visual Studio 2010.

Liste des erreurs :

Erreur 2 Le type ou le nom d'espace de noms 'USBHIDDRIVER' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) C:\Users\Mohamed\Desktop\Test\Test\ClassUSBHID.cs 24 17 Test

Erreur 3 Le type ou le nom d'espace de noms 'HidReport' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) C:\Users\Mohamed\Desktop\Test\Test\ClassUSBHID.cs 31 9 Test

Erreur 1 Le type ou le nom d'espace de noms 'HidDevice' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) C:\Users\Mohamed\Desktop\Test\Test\ClassUSBHID.cs 14 17 Test

Erreur 6 Le nom 'HidDevices' n'existe pas dans le contexte actuel C:\Users\Mohamed\Desktop\Test\Test\ClassUSBHID.cs 38 39 Test

Encore merci pour ton aide.
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter