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 設備進行通信的基本功能。你可以根據自己的需求進一步擴展和定制這些功能。