FT_W32_ClearCommError函数的用法

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

null

支持的操作系统

Linux

Mac OS X 10.4 以上版本

Windows 2000 以上版本

Windows CE 4.2 以上版本

概述

FT_W32_ClearCommError 函数清空设备错误记录,通过参数返回错误记录和设备状态。

定义

BOOL FT_W32_ClearCommError (FT_HANDLE ftHandle, LPDWORD lpdwErrors,LPFTCOMSTAT lpftComstat)

参数说明

ftHandle — 设备句柄。

lpdwErrors— 指针,指向存储错误码的变量地址。
lpftComstat –– Pointer to FTCOMSTAT structure;

返回值

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

备注

暂无。

代码示例

static COMSTAT oldCS = {0};
static DWORD dwOldErrors = 0;
FT_HANDLE ftHandle; // setup by FT_W32_CreateFile
COMSTAT newCS;
DWORD dwErrors;
BOOL bChanged = FALSE;
if (!FT_W32_ClearCommError(ftHandle, &dwErrors, (FTCOMSTAT *)&newCS))
; // FT_W32_ClearCommError failed
if (dwErrors != dwOldErrors) {
bChanged = TRUE;
dwErrorsOld = dwErrors;
}
if (memcmp(&oldCS, &newCS, sizeof(FTCOMSTAT))) {
bChanged = TRUE;
oldCS = newCS;
}
if (bChanged) {
if (dwErrors & CE_BREAK)
; // BREAK condition detected
if (dwErrors & CE_FRAME)
; // Framing error detected
if (dwErrors & CE_RXOVER)
; // Receive buffer has overflowed
if (dwErrors & CE_TXFULL)
; // Transmit buffer full
if (dwErrors & CE_OVERRUN)
; // Character buffer overrun
if (dwErrors & CE_RXPARITY)
; // Parity error detected
if (newCS.fCtsHold)
; // Transmitter waiting for CTS
if (newCS.fDsrHold)
; // Transmitter is waiting for DSR
if (newCS.fRlsdHold)
; // Transmitter is waiting for RLSD
if (newCS.fXoffHold)
; // Transmitter is waiting because XOFF was received

if (newCS.fXoffSent)
; //
if (newCS.fEof)
; // End of file character has been received
if (newCS.fTxim)
; // Tx immediate character queued for transmission
// newCS.cbInQue contains number of bytes in receive queue
// newCS.cbOutQue contains number of bytes in transmit queue
}

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

昵称

取消
昵称表情代码图片

    暂无评论内容