介绍 FT_W32_ClearCommError 函数的用法、参数、返回值、注意事项、适用的操作系统环境、调用代码示例等。
支持的操作系统
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 receivedif (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
}
暂无评论内容