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 设备进行通信的基本功能。你可以根据自己的需求进一步扩展和定制这些功能。