windows - Afsendelse og modtagelse af data via USB-port

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne sende/modtage data via en USB-port til en enhed (fra min vista-pc). Er der et gratis/billigt bibliotek derude, og hvor involveret ville dette projekt være (uden hensyntagen til hvad s bliver sendt eller modtaget)?

Bedste reference


Du bestemmer ikke hvad der foregår her. Findes der allerede enheden? Er det allerede en USB-enhed?


Hvis du allerede har en USB-enhed, skal producenten være i stand til at hjælpe.


Hvis du bygger enheden, kan du måske se på noget som en USB til seriel adapter (som generelt ikke kræver nogen specielle drivere) eller noget fra FTDI - de laver en række brugervenlige USB-chips som generelt Jeg har ikke brug for eller med passende drivere under vinduer. Jeg har arbejdet med deres chips ved et par gange, og de har aldrig givet mig nogen problemer. [1]

Andre referencer 1


libusb-win32 måske? [2]

Andre referencer 2


Denne artikel i kodeprojekt kan være en god start for dig. Først skal du bygge din enhed. Du kan enten bruge en mikrocontroller med en USB-port, eller du kan bruge et serielt-til-USB-chipsæt (som den allerede foreslåede FTDI). [3]


Du bør undgå at skrive din egen USB-bibliotek-driver. Artiklen i CodeProject bruger HDI-driveren, som allerede er til stede i din enhed. Det bruger en PIC mikro-controller, men min personlige favorit er AVR. Med AVR har du følgende muligheder:



  • AVR-USB: Udfører USB-stak i firmware. Drivere, eksempler på alle platforme. Enhver AVR mikro kan bruges. Du skal muligvis selv opbygge hardwareen.

  • Atmels USB-familie. Disse er mikrocontrollere med USB-port. Drivere og klar til købssæt er tilgængelige. Andre producenter (som Microchip's PIC-familie) har lignende løsninger.


Andre referencer 3


Uden at vide noget andet om din situation, og hvis du har kontrol over enhedens USB-protokol og drivere, vil jeg anbefale at bruge WinUSB. [4] [5] [6]


Det er meget bedre end libusb-win32, fordi det er en indbygget del af Windows, og den understøtter asynkron kommunikation. Også libusb-win32 understøtter kun libusb-0.1 API, som er virkelig gammel.