CyUSB 是一個(gè)用于與 Cypress FX2LP USB 控制器通信的 C# 類庫(kù)。它提供了一組 API,使得在 C# 應(yīng)用程序中與 USB 設(shè)備進(jìn)行通信變得更加容易。以下是 CyUSB 庫(kù)中一些常用的 API:
CyUSBDeviceList: 此類表示連接到計(jì)算機(jī)的所有 Cypress FX2LP USB 設(shè)備的列表。你可以使用它來(lái)枚舉和選擇要操作的設(shè)備。
CyUSBDeviceList deviceList = new CyUSBDeviceList();
foreach (CyUSBDevice device in deviceList)
{
Console.WriteLine("Device: " + device.FriendlyName);
}
CyUSBDevice: 此類表示一個(gè)單獨(dú)的 Cypress FX2LP USB 設(shè)備。你可以使用它來(lái)打開(kāi)和關(guān)閉設(shè)備,以及讀取和寫(xiě)入數(shù)據(jù)。
CyUSBDevice selectedDevice = deviceList[0];
selectedDevice.Open();
// ... 與設(shè)備通信 ...
selectedDevice.Close();
CyControlEndPoint: 此類表示 USB 設(shè)備的控制端點(diǎn)。你可以使用它來(lái)發(fā)送和接收控制傳輸。
CyControlEndPoint controlEndpoint = selectedDevice.ControlEndPt;
byte[] buffer = new byte[] { 0x01, 0x02, 0x03 };
controlEndpoint.Write(buffer);
CyBulkEndPoint: 此類表示 USB 設(shè)備的批量端點(diǎn)。你可以使用它來(lái)發(fā)送和接收大量數(shù)據(jù)。
CyBulkEndPoint bulkInEndpoint = selectedDevice.BulkInEndPt;
byte[] buffer = new byte[64];
int bytesRead = bulkInEndpoint.Read(buffer);
CyInterruptEndPoint: 此類表示 USB 設(shè)備的中斷端點(diǎn)。你可以使用它來(lái)發(fā)送和接收中斷數(shù)據(jù)。
CyInterruptEndPoint interruptInEndpoint = selectedDevice.InterruptInEndPt;
byte[] buffer = new byte[64];
int bytesRead = interruptInEndpoint.Read(buffer);
CyIsoEndPoint: 此類表示 USB 設(shè)備的等時(shí)端點(diǎn)。你可以使用它來(lái)發(fā)送和接收等時(shí)數(shù)據(jù)。
CyIsoEndPoint isoInEndpoint = selectedDevice.IsoInEndPt;
byte[] buffer = new byte[64];
int bytesRead = isoInEndpoint.Read(buffer);
這些 API 提供了與 Cypress FX2LP USB 設(shè)備進(jìn)行通信的基本功能。你可以根據(jù)自己的需求進(jìn)一步擴(kuò)展和定制這些功能。