FT_W32_SetCommTimeouts函数的用法

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

null

支持的操作系统

Linux

Mac OS X 10.4 以上版本

Windows 2000 以上版本

Windows CE 4.2 以上版本

概述

FT_W32_SetCommTimeouts 函数设置I/O操作的超时时长。

定义

BOOL FT_W32_SetCommTimeouts (FT_HANDLE ftHandle, LPFTTIMEOUTS lpftTimeouts)

参数说明

ftHandle — 设备句柄。
lpftTimeouts — 指向 FTTIMEOUTS 结构体的指针,该结构体存储了超时信息配置。

返回值

成功则返回非零值;如果失败则返回0。

备注

超时值是利用 FTTIMEOUTS 结构体中的信息计算所得。

对于读请求,超时值=要读取的字节数*超时系数+超时常数;所以,如果 TS 为 FTTIMEOUTS 结构体变量,要读取的字节数为 dwToRead,读超时值 rdTO计算公式如下:

rdTO = (dwToRead * TS.ReadTotalTimeoutMultiplier) + TS.ReadTotalTimeoutConstant。

对于写请求,有类似的公式:

wrTO = (dwToWrite * TS.WriteTotalTimeoutMultiplier) + TS.WriteTotalTimeoutConstant。

目前,在 Linux 和 Mac OS X 平台下,ReadIntervalTimeout, ReadTotalTimeoutMultiplier and
WriteTotalTimeoutMultiplier忽略。

代码示例

FT_HANDLE ftHandle; // setup by FT_W32_CreateFile
FTTIMEOUTS ftTS;
ftTS.ReadIntervalTimeout = 0;
ftTS.ReadTotalTimeoutMultiplier = 0;
ftTS.ReadTotalTimeoutConstant = 100;
ftTS.WriteTotalTimeoutMultiplier = 0;
ftTS.WriteTotalTimeoutConstant = 200;
if (FT_W32_SetCommTimeouts(ftHandle,&ftTS))
; // FT_W32_SetCommTimeouts OK

else
; // FT_W32_SetCommTimeouts failed

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容