Heim  >  Artikel  >  Backend-Entwicklung  >  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#

黄舟
黄舟Original
2017-07-27 16:11:4212384Durchsuche

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;

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");
            }
        }

Anruf


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

            // Wait for user input..
            Console.ReadKey();
        }

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!

Stellungnahme:
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