可使用GetCommmodemStatus()方法,例程: if(cp.dwProvCapabilities&PCF_RTSCTS) {
SetCommMask(hComm,EV_CTS);
WaitCommEvent(hComm,&dwMask,NULL); if(dwMask&EV_CTS) {
GetCommModemStatus(hComm,&dwStatus)
if(dwStatus&MS_CTS_ON) else } }
MS_CTS_ON
CTS为ON
MS_DSR_ON DSR为ON MS_RING_ON RING为ON
MS_ELSD_ON RLSD为ON
14.错误
当发生错误时应用方法ClearCommError(hComm, &dwErrorMask, &constat)得到错误掩码。 CE_BREAK CE_FRAME CW_IOE
中止条件
帧错误
一般I/O错误,常伴有更为详细的错误标志
CE_MODE 不支持请求的模式
CE_OVERRUN 缓冲区超限下一个字符将丢失
CE_RXOVER 接收缓冲区超限 CE_RXPARITY 奇偶校验错误 CE_TXFULL 发送缓冲区满 CE_DNS 没有选择并行设备
并行设备发生超时
CE_PTO
CE_OOP 并行设备缺纸
15.控制命令
EscapeCommFunction()可将硬件信号置ON或OFF,模拟XON或XOFF BOOL EscapeCommFunction( HANDLE hFile, // handle to communications device DWORD dwFunc );
CLRDTR CLRRTS SETDTR SETRTS
// extended function to perform
dwFunc的有效值(可用'|'同时使用多个值)
DTR置OFF RTS 置OFF STR 置ON TRS 置ON
SETXOFF 模拟XOFF字符的接收 SETXON 模拟XON字符的接收 SETBREAK 在发送中产生一个中止 CLRBREAK 在发送中清除中止
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库VC++ - 串口 - 通讯API(3)在线全文阅读。
相关推荐: