Avatar billede pablopablo Nybegynder
30. august 2009 - 12:22 Der er 10 kommentarer

C# og USB kommunikation

Hejsa...

Hvad er den letteste måde, at kommunikere med USB porten på? Findes der standard biblioteker til det i C# eller skal man selv ud og finde 3-part produkter?

Jeg har googlet lidt og fx. fundet: http://libusbdotnet.sourceforge.net/V2/Index.html

Alle tips og tricks fra folk med erfaring med USB komm. er meget velkomne! Det skal bruges til at komm. med en mindre enhed, hvor data på enheden's disk skal kunne læses via USB(com) <-- FireWire(enhed)

På forhånd tak.

Mvh.
Avatar billede windcape Praktikant
30. august 2009 - 19:44 #1
Mig bekendt er der ingen standard libs, men ICSharpCode har altid nogle gode APIs:

http://www.icsharpcode.net/opensource/sharpusblib/

Så vidt jeg kan udlede er det vist mest managed APIs bygget på en masse P/Invoke kode.
Avatar billede sirius Nybegynder
31. august 2009 - 11:58 #2
Jeg har selv brugt følgende eksempel som udgangspunkt til kommunikation med en USB enhed: http://www.codeproject.com/KB/cs/USB_HID.aspx
Avatar billede pablopablo Nybegynder
31. august 2009 - 21:02 #3
Sirius >> Okay, spændende!

Kan du forklare lidt nærmere om det du har lavet, samt hvor kompliceret/tidskrævende det er at kode USB kommunikation?

Jeg har tidligere kodet seriel komm. men aldrig USB - så har faktisk ingen ide om hvordan det virker? Hvordan ved koden fx. hvilket USB stik som den skal komm. med?
Avatar billede sirius Nybegynder
01. september 2009 - 09:53 #4
Det var faktisk overraskende nemt :-)

Hver USB enhed har en unik nøgle som de har fået fra producenten, så du kan finde den rigtig enhed ved at kende nøglen.

Der er nogle events du kan lytte på som bliver kaldt når der bliver tilsluttet eller fjernet en USB enhed (der kan du så kontrollere om din enhed er en af dem)

Når du har fundet din enhed kan du også lytte på et event som bliver kaldt når der bliver modtaget data fra din enhed.

Jeg brugte det bare for sjov til at sætte min PS2 Buzzer til PCen og så lege lidt med det :-)
Avatar billede pablopablo Nybegynder
01. september 2009 - 23:55 #5
Okay, jamen det lyder jo også utroligt logisk - men det skulle da også være underligt, nu hvor det er USB! :-)

Spiller koden både i XP og Vista eller?

Har du ellers bemærket noget da du kodede programmet? Nogle bugs eller andre ting jeg bør være opmærksom på? Artiklen på CodeProject er jo fra starten af 2007, så det kunne godt være der var dukket noget op i mellemtiden?
Avatar billede sirius Nybegynder
02. september 2009 - 09:01 #6
tror vidst kun jeg har prøvet at afvikle koden på XP, så ved ikke om det kan give nogle problemer.

Bemærkede ikke nogle bugs eller andre ting ;-)
Avatar billede pablopablo Nybegynder
08. september 2009 - 00:28 #7
Ved du hvad forskellen er på USB og HID/USB? Jeg tænker på, kan koden bruges til alle enheder som blot har et USB stik eller?
Avatar billede sirius Nybegynder
08. september 2009 - 09:38 #8
Det ved jeg ikke, prøv dig frem :-)
Avatar billede pablopablo Nybegynder
03. august 2010 - 16:44 #9
Sirius læg et svar
Avatar billede sirius Nybegynder
06. august 2010 - 11:43 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester