我遇到FT232问题。我正在用Delphi写作。我需要从几个FT232读取ChipID。我从中下载了文件FTChipID.pas http://www.ftdichip.com/Support/SoftwareExamples/FTDIChip-ID.htm
这是我的代码片段:
procedure TForm1.CheckComID;
var
myChipID: array[0..10] of Longword;
length: DWord;
begin
Memo1.Clear;
chipID.GetNumDevices(@length);
for i := 0 to length-1 do begin
chipID.GetDeviceChipID( i, @myChipID[i]);
Memo1.Lines.Add('Device'+IntToStr(i) + ' ' + IntTohex(mychipID[i]));
end;
end;
效果是在Memo1中,所有读取值都相同:/。
例如:
我连接了三个FT232,Memo1中的结果是:
Device0 418CF92B
Device1 418CF92B
Device2 418CF92B
任何人都可以帮助我吗?我在哪里弄错了?
答案 0 :(得分:0)
GetDeviceChipID标识使用的芯片而不是USB设备。我记得对于FT232R,我将得到一个值,而对于FT231X(这是相似的芯片),我将得到一个不同的数字。
如果要读取用于标识USB设备的ID,则该属性名为“序列号”。
如果您知道序列号,则C#API为OpenBySerialNumber(字符串序列号)。 另外,您可以尝试使用OpenByIndex(0),OpenByIndex(1),OpenByIndex(2)来发现连接到PC的所有FT232。