介绍FT_GetDeviceInfo函数的用法、参数、返回值、注意事项、适用的操作系统环境、调用代码示例等。
支持的操作系统
Linux
Mac OS X 10.4 以上版本
Windows 2000 以上版本
Windows CE 4.2以上版本
概述
FT_GetDeviceInfo函数获取一个已经打开的设备的信息。
定义
FT_STATUS FT_GetDeviceInfo (FT_HANDLE ftHandle, FT_DEVICE *pftType, LPDWORD lpdwID, PCHAR pcSerialNumber,PCHAR pcDescription, PVOID pvDummy)
参数说明
ftHandle—设备句柄。
pftType—指向unsigned long类型变量地址的指针,该变量 存储设备类型。
lpdwID—指向unsigned long类型变量地址的指针,该变量 存储设备编号。
pcSerialNumber—字符数组指针,字符数组存储设备序列号serial number。
pcDescription —字符数组指针,字符数组存储设备描述符。
pvDummy —备用,设置为NULL。
返回值
成功则返回FT_OK,如果失败则根据错误返回特定错误码(FT_*).
备注
FT_GetDeviceInfo函数获取打开设备的设备类型(device type), 设备编号(device ID), 设备描述符(device description) 以及 设备序列号(serial number)。
设备编号(device ID)为DWORD类型 – 高位两字节为供货商ID, 低位两字节为产品编号(product ID);如:获取到 ID 为0x04036001 代表device ID=VID_0403&PID_6001。
代码示例
FT_HANDLE ftHandle;
FT_DEVICE ftDevice;
FT_STATUS ftStatus;
DWORD deviceID;
char SerialNumber[16];
char Description[64];
ftStatus = FT_Open(0, &ftHandle);
if(ftStatus != FT_OK) {
// FT_Open failed
return;
}
ftStatus = FT_GetDeviceInfo(
ftHandle,
&ftDevice,
&deviceID,
SerialNumber,
Description,
NULL
);
if (ftStatus == FT_OK) {
if (ftDevice == FT_DEVICE_232H)
; // device is FT232H
else if (ftDevice == FT_DEVICE_4232H)
; // device is FT4232H
else if (ftDevice == FT_DEVICE_2232H)
; // device is FT2232H
else if (ftDevice == FT_DEVICE_232R)
; // device is FT232R
else if (ftDevice == FT_DEVICE_2232C)
; // device is FT2232C/L/D
else if (ftDevice == FT_DEVICE_BM)
; // device is FTU232BM
else if (ftDevice == FT_DEVICE_AM)
; // device is FT8U232AM
else
; // unknown device (this should not happen!)
// deviceID contains encoded device ID
// SerialNumber, Description contain 0-terminated strings
}
else {
// FT_GetDeviceType FAILED!
}
FT_Close(ftHandle);
暂无评论内容