CyUSB 是一个用于与 Cypress FX2LP USB 控制器通信的 C# 类库。它提供了一组 API,使得在 C# 应用程序中与 USB 设备进行通信变得更加容易。以下是 CyUSB 库中一些常用的 API:
-
CyUSBDeviceList: 此类表示连接到计算机的所有 Cypress FX2LP USB 设备的列表。你可以使用它来枚举和选择要操作的设备。
CyUSBDeviceList deviceList = new CyUSBDeviceList(); foreach (CyUSBDevice device in deviceList) { Console.WriteLine("Device: " + device.FriendlyName); }
-
CyUSBDevice: 此类表示一个单独的 Cypress FX2LP USB 设备。你可以使用它来打开和关闭设备,以及读取和写入数据。
CyUSBDevice selectedDevice = deviceList[0]; selectedDevice.Open(); // ... 与设备通信 ... selectedDevice.Close();
-
CyControlEndPoint: 此类表示 USB 设备的控制端点。你可以使用它来发送和接收控制传输。
CyControlEndPoint controlEndpoint = selectedDevice.ControlEndPt; byte[] buffer = new byte[] { 0x01, 0x02, 0x03 }; controlEndpoint.Write(buffer);
-
CyBulkEndPoint: 此类表示 USB 设备的批量端点。你可以使用它来发送和接收大量数据。
CyBulkEndPoint bulkInEndpoint = selectedDevice.BulkInEndPt; byte[] buffer = new byte[64]; int bytesRead = bulkInEndpoint.Read(buffer);
-
CyInterruptEndPoint: 此类表示 USB 设备的中断端点。你可以使用它来发送和接收中断数据。
CyInterruptEndPoint interruptInEndpoint = selectedDevice.InterruptInEndPt; byte[] buffer = new byte[64]; int bytesRead = interruptInEndpoint.Read(buffer);
-
CyIsoEndPoint: 此类表示 USB 设备的等时端点。你可以使用它来发送和接收等时数据。
CyIsoEndPoint isoInEndpoint = selectedDevice.IsoInEndPt; byte[] buffer = new byte[64]; int bytesRead = isoInEndpoint.Read(buffer);
这些 API 提供了与 Cypress FX2LP USB 设备进行通信的基本功能。你可以根据自己的需求进一步扩展和定制这些功能。