Heim > Backend-Entwicklung > C#.Net-Tutorial > Detailliertes Beispiel für die Verwendung von LibUsbDotNet zur Implementierung der USB-Kommunikation in C#

Detailliertes Beispiel für die Verwendung von LibUsbDotNet zur Implementierung der USB-Kommunikation in C#

黄舟
Freigeben: 2017-07-27 16:11:42
Original
12613 Leute haben es durchsucht

Es gibt relativ wenige Informationen zur C#USB-Kommunikation im Internet. Sie basieren im Wesentlichen auf LibUsbDotNet und CyUsb. Es gibt auch ein OPOS über Druckerausrüstung.

Dieser Artikel basiert auf LibUsbDotNet.

 1. Laden Sie die LibUsbDotNet-Installationsdatei herunter und installieren Sie sie.

 2. Führen Sie den Filterassistenten aus und installieren Sie einen Gerätefilter. Installieren Sie das USB-Gerät, das Kommunikation erfordert.

 

 3. Erstellen Sie ein einfaches Konsolenprojekt und testen Sie es. Das Bild unten zeigt die zum Drucken von Kommunikationsgeräten erforderlichen Informationen.

 

Zugehöriger Code:

Zitat


using LibUsbDotNet;
using LibUsbDotNet.Main;
using LibUsbDotNet.Info;
Nach dem Login kopieren

PrintUsbInfo


 public static void PrintUsbInfo()
        {
            UsbDevice usbDevice = null;
            UsbRegDeviceList allDevices = UsbDevice.AllDevices;

            Console.WriteLine("Found {0} devices", allDevices.Count);

            foreach (UsbRegistry usbRegistry in allDevices)
            {
                Console.WriteLine("Got device: {0}\r\n", usbRegistry.FullName);

                if (usbRegistry.Open(out usbDevice))
                {
                    Console.WriteLine("Device Information\r\n------------------");

                    Console.WriteLine("{0}", usbDevice.Info.ToString());

                    Console.WriteLine("VID & PID: {0} {1}", usbDevice.Info.Descriptor.VendorID, usbDevice.Info.Descriptor.ProductID);

                    Console.WriteLine("\r\nDevice configuration\r\n--------------------");
                    foreach (UsbConfigInfo usbConfigInfo in usbDevice.Configs)
                    {
                        Console.WriteLine("{0}", usbConfigInfo.ToString());

                        Console.WriteLine("\r\nDevice interface list\r\n---------------------");
                        ReadOnlyCollection<UsbInterfaceInfo> interfaceList = usbConfigInfo.InterfaceInfoList;
                        foreach (UsbInterfaceInfo usbInterfaceInfo in interfaceList)
                        {
                            Console.WriteLine("{0}", usbInterfaceInfo.ToString());

                            Console.WriteLine("\r\nDevice endpoint list\r\n--------------------");
                            ReadOnlyCollection<UsbEndpointInfo> endpointList = usbInterfaceInfo.EndpointInfoList;
                            foreach (UsbEndpointInfo usbEndpointInfo in endpointList)
                            {
                                Console.WriteLine("{0}", usbEndpointInfo.ToString());
                            }
                        }
                    }
                    usbDevice.Close();
                }
                Console.WriteLine("\r\n----- Device information finished -----\r\n");
            }
        }
Nach dem Login kopieren

Anruf


public static void Main(string[] args)
        {
            PrintUsbInfo();

            // Wait for user input..
            Console.ReadKey();
        }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Verwendung von LibUsbDotNet zur Implementierung der USB-Kommunikation in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage