介绍FT_EE_Read函数的用法、参数、返回值、注意事项、适用的操作系统环境、调用代码示例等。
支持的操作系统
Linux
Mac OS X 10.4 以上版本
Windows 2000 以上版本
Windows CE 4.2 以上版本
概述
FT_EE_Read函数读取EEPROM中的内容。
定义
FT_STATUS FT_EE_Read (FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData)
参数说明
ftHandle — 设备句柄。
pData—FT_PROGRAM_DATA类型的指针。
返回值
成功则返回FT_OK,如果失败则根据错误返回特定错误码(FT_*).
备注
FT_EE_Read函数中的参数 pData 为指向 FT_PROGRAM_DATA 类型结构体变量的指针,该结构体存储要从EEPROM中读取的数据。
FT_EE_Read函数不对缓冲区大小进行检查,所以为FT_PROGRAM_DATA结构体分配的内存要足够大,来存储数据字符串,包括终止字符。
下面的代码示例中缓冲区大小分配的足够大,仅供示例参考,实际使用中根据情况减少。 最小限制考虑到厂商字符串和描述字符串长度,一般不超过40字节。
需要注意的是,使用的DLL必须确认其使用的 FT_PROGRAM_DATA 结构体定义的版本。其版本可以通过Signature1, Signature2 和 Version 成员变量来确定。
Signature1固定为0x00000000, Signature2 固定为 0xFFFFFFFF,Version 可以自行设定需要的版本。为了兼容当前既有的所有设备,应该设置FTD2XX.h最新版本的 FT_PROGRAM_DATA结构体定义。
代码示例
FT_HANDLE ftHandle;
FT_STATUS ftStatus = FT_Open(0, &ftHandle);
if (ftStatus != FT_OK) {
// FT_Open FAILED!
}
FT_PROGRAM_DATA ftData;
char ManufacturerBuf[32];
char ManufacturerIdBuf[16];
char DescriptionBuf[64];
char SerialNumberBuf[16];
ftData.Signature1 = 0x00000000;
ftData.Signature2 = 0xffffffff;
ftData.Version = 0x00000005; // EEPROM structure with FT232H extensions
ftData.Manufacturer = ManufacturerBuf;
ftData.ManufacturerId = ManufacturerIdBuf;
ftData.Description = DescriptionBuf;
ftData.SerialNumber = SerialNumberBuf;
ftStatus = FT_EE_Read(ftHandle, &ftData);
if (ftStatus == FT_OK) {
// FT_EE_Read OK, data is available in ftData
}
else {
// FT_EE_Read FAILED!
}
FT_Close(ftHandle);
暂无评论内容