我想列出所有 COM 端口,它们是 FTDI 控制器的虚拟端口。
为此,我尝试使用官方 .NET 包装器(“FTD2XX_NET”)为官方 FTDI 库提供的方法GetDeviceList
和:OpenBySerialNumber
List<string> listResult = new List<string>();
FTD2XX.FT_DEVICE_INFO_NODE[] arrInfoNodes =
new FTD2XX.FT_DEVICE_INFO_NODE[intALotMoreThanExpectedInfoNodeCount];
FTD2XX fObject = createFtdiInstance();
foreach (FTD2XX.FT_DEVICE_INFO_NODE node in arrInfoNodes)
{
if (node == null)
{
break;
}
else
{
if (fObject.OpenBySerialNumber(node.SerialNumber) ==
Ftdi.FTD2XX.FT_STATUS.FT_OK)
{
fObject.GetCOMPort(out strPortName);
listResult.Add(strPortName);
}
}
}
我现在的问题是:在对所有节点进行迭代之后,必须拔下 ftdi 设备并重新连接,直到我可以再次使用它们(使用任何软件)。