FT_EEPROM_Read函数的用法

介绍 FT_EEPROM_Read 函数的用法、参数、返回值、注意事项、适用的操作系统环境、调用代码示例等。

enter键 发泄超大号解压回车键usb电脑办公键盘程序员解压神器抖音网红Big Enter午睡枕头解压发送键创意礼物
解压神器 网红同款 一键多用 午睡枕头 | 月销量1622件
优惠价16.68元
原价¥39

淘口令:

¥WJumXcvJrpX¥
 

支持的操作系统

 

Windows XP 以上版本

概述

FT_EEPROM_Read 函数从 EEPROM 中读取数据,该函数适用于FT-X系列设备,兼容所有的 FTDI 芯片。

定义

FT_STATUS FT_EEPROM_Read(FT_HANDLE ftHandle, void *eepromData, DWORD eepromDataSize,
char *Manufacturer, char *ManufacturerId, char *Description,char *SerialNumber);

参数说明

ftHandle — 设备句柄。

eepromData— 指向用于存储读取到的数据的缓冲区地址的指针。不同的设备类型,指向不同的结构体类型变量。

epromDataSize— 参数eepromData对应的缓冲区的大小。

Manufacturer  — 制造商名称字符串指针,NULL终止字符。

ManufacturerId — 制造商编号字符串指针,NULL终止字符。

Description — 设备描述信息字符串指针,NULL终止字符。

SerialNumber — 设备序列号字符串指针,NULL终止字符。

返回值

成功则返回FT_OK,如果失败则根据错误返回特定错误码(FT_*).

备注

FT_EEPROM_Read 函数中,参数 *eepromDATA 为结构体指针,其指向的结构体类型随着不同的设备类型,也不同。
结构体:PFT_EEPROM_232B;对应设备类型: FT2xxB。
结构体:PFT_EEPROM_2232;对应设备类型: FT2232D。
结构体:PFT_EEPROM_232R;对应设备类型: FT232R。
结构体:PFT_EEPROM_2232H;对应设备类型: FT2232H。
结构体:PFT_EEPROM_4232H;对应设备类型: FT4232H。
结构体:PFT_EEPROM_232H;对应设备类型: FT232H。
结构体:PFT_EEPROM_X_SERIES ;对应设备类型: FT2xxX 。

FT_EEPROM_Read 函数不对缓冲区大小进行检查,所以参数 eepromDATA 指向的缓冲区应该保证足够空间来存储接收的字符串,包括终止字符。

下面代码示例中的缓冲区大小比实际需要的大小要大一些,在真正的使用过程中可以根据需要调整。

厂商字符串+描述符字符串长度不会超过40个字符。

调用FT_EEPROM_Read 函数前需要确认DLL使用的 eepromDATA 结构体版本。可以通过 PFT_EEPROM_HEADER 结构体来获取。PFT_EEPROM_HEADER结构体第一个元素是设备类型,其可能的取值为:

FT_DEVICE_BM, FT_DEVICE_AM, FT_DEVICE_2232C, FT_DEVICE_232R, FT_DEVICE_2232H,
FT_DEVICE_4232H, FT_DEVICE_232H, or FT_DEVICE_X_SERIES as defined in FTD2XX.h.

代码示例

FT_HANDLE fthandle;
FT_STATUS status;
char Manufacturer[64];
char ManufacturerId[64];
char Description[64];
char SerialNumber[64];
FT_EEPROM_HEADER ft_eeprom_header;
ft_eeprom_header.deviceType = FT_DEVICE_2232H; // FTxxxx device type to be
accessed
FT_EEPROM_2232H ft_eeprom_2232h;
ft_eeprom_2232h.common = ft_eeprom_header;
ft_eeprom_2232h.common.deviceType = FT_DEVICE_2232H;
status = FT_Open(0, &fthandle);
if(status != FT_OK)

printf(“open status not ok %d\n”, status);
status = FT_EEPROM_Read(fthandle,&ft_eeprom_2232h, sizeof(ft_eeprom_2232h),
Manufacturer,ManufacturerId, Description, SerialNumber);
if (status != FT_OK)
printf(“EEPROM_Read status not ok %d\n”, status);
else
{
printf(“VendorID = 0x%04x\n”, ft_eeprom_2232h.common.VendorId);
printf(“ProductID = 0x%04x\n”, ft_eeprom_2232h.common.ProductId);


}
FT_Close(fthandle);

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发