Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Lesen und Schreiben in der HID-Gerät.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Oceano2012



Anmeldungsdatum: 30.05.2010
Beiträge: 4

BeitragVerfasst am: 09.06.2010, 23:31    Titel: Lesen und Schreiben in der HID-Gerät. Antworten mit Zitat

Mein Code funktioniert nicht.

Wie zu lesen und zu schreiben, um eine HID-Gerät?

Ich versuche, mit PIC 18F4550, HID-Modus in WinXP kommunizieren.

Vielen Dank!

Code:


#Include Once "Windows.bi"

Dim As HANDLE  hEvent, RH, WH
Dim As String  HID_DEVICE, VALUE, GUID
Dim As OVERLAPPED HIDOverlapped

Dim As Ubyte   Get2HID(0 To 63)
Dim As Ubyte   Put2HID(0 To 63)
Dim As Integer iBytesRead, TestR, TestW

GUID="{4d1e55b2-f16f-11cf-88cb-001111000030}"
VALUE="hid#vid_1781&pid_07d0#6&1c842270&5&0000"  ' My HID Device.

HID_DEVICE="\\?\" & VALUE & "#" & GUID

WH=CreateFile( Strptr( HID_DEVICE ) ,_
                                   GENERIC_WRITE,_
                                   FILE_SHARE_READ Or FILE_SHARE_WRITE,_
                                   Null,_
                                   OPEN_EXISTING,_
                                   0,_
                                   NULL )
                                                     
RH=CreateFile( Strptr( HID_DEVICE ) ,_
                                   GENERIC_READ,_
                                   FILE_SHARE_READ Or FILE_SHARE_WRITE,_
                                   NULL,_
                                   OPEN_EXISTING,_
                                   FILE_FLAG_OVERLAPPED,_
                                   NULL )                     

If ( WH = INVALID_HANDLE_VALUE ) Or ( RH = INVALID_HANDLE_VALUE ) Then
     Print "ERROR!"
     Sleep
     End
Else     
     Locate 3,1: Print "Device = "; Hex(RH), Hex(WH)
Endif

Put2HID(0) = 169  'Load this value to send.

TestW=WriteFile (WH, @Put2HID(0), 8, @iBytesRead, 0)
TestR=ReadFile  (RH, @Get2HID(0), 8, @iBytesRead, @HIDOverlapped)

Locate 5, 1: Print TestW, TestR
Locate 4, 1: Print "Result :"; Get2HID(0); "      "

CloseHandle(RH)
CloseHandle(WH)

Sleep
End

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz