WinCE串口编程API函数(三)
来源:互联网 发布:标书生成软件 编辑:程序博客网 时间:2024/06/06 00:55
·设置接收/发送缓冲区大小:
BOOL SetupComm(
HANDLE hFile,
DWORD dwInQueue,
DWORD dwOutQueue
);
hFile指定已打开的串口句柄,dwInQueue指定接收缓冲区的大小,dwOutQueue指定发送缓冲区的大小。
返回值:成功时返回非零值,失败时返回零。
例:
SetupComm(m_hComm,512,512);
如果不使用该函数,系统会推荐一个适合的默认值。
·控制串口:
BOOL SetCommBreak(
HANDLE hFile
);
BOOL ClearCommBreak(
HANDLE hFile
);
SetCommBreak函数用来停止串口传输字符并且设置串口为中断状态,ClearCommBreak函数用于重新传输字符,hFile指定已打开的串口句柄。
·清空串口缓冲区:
BOOL PurgeComm(
HANDLE hFile,
DWORD dwFlags
);
PurgeComm函数用于清空串口的接收缓冲区与发送缓冲区。dwFlags参数用来设置操作类型,设置为PURGE_TXCLEAR,表示清空发送缓冲区,设置为PURGE_RXCLEAR,表示清空接收缓冲区。两者也可以组合使用,表示同时清空接收缓冲区和发送缓冲区。
例:
PurgeComm(ceSeries->m_hComm, PURGE_RXCLEAR | PURGE_TXCLEAR );
·清除错误并查询状态:
BOOL ClearCommError(
HANDLE hFile,
LPDWORD lpErrors,
LPCOMSTAT lpStat
);
ClearCommError函数用于清除驱动程序产生的任何错误并返回当前串口的状态。lpErrors表示发生的错误码,lpStat指向COMSTAT结构,用于存储当前串口的状态。
错误码表:
CE_BREAK
硬件检测到了一个中断情况
CE_FRAME
硬件检测到了一个帧错误
CE_IOE
硬件通信时发生一个I/O错误
CE_MODE
请求模式未被支持,或者hFile参数无效。如果指定了这个错误,那么它就是唯一的合法错误。
CE_OVERRUN
字符缓冲区被侵占,下一个字符丢失
CE_RXOVER
输入缓冲区溢出。输入缓冲区没有空间或者收到end-of-file (EOF)字符后又收到字符
CE_RXPARITY
硬件检测到奇偶校验错误
CE_TXFULL
应用程序试图发送一个字符,但输出缓冲区已满
COMSTAT结构体:
typedef struct _COMSTAT {
DWORD fCtsHold : 1;
DWORD fDsrHold : 1;
DWORD fRlsdHold : 1;
DWORD fXoffHold : 1;
DWORD fXoffSent : 1;
DWORD fEof : 1;
DWORD fTxim : 1;
DWORD fReserved : 25;
DWORD cbInQue;
DWORD cbOutQue;
} COMSTAT, *LPCOMSTAT;
fCtsHold:表示是否正在等待CTS (Clear to Send)信号。
fDsrHold:表示是否正在等待DSR (Data Set Ready)信号。
fRlsdHold:表示是否正在等待RLSD (Receive Line Signal Detect)(接收线路信号检测,也叫载波检测)信号。
fXoffHold:表示是否因为收到XOFF字符而等待。
fXoffSent:表示是否因为驱动程序发送XOFF字符而等待。
fEof:表示是否收到End of File (EOF)字符。
fTxim:如果是1,表示队列中的字符是由TransmitCommChar函数写入的而不是WriteFile函数。
fReserved:保留,未用。
cbInQue:表示接收缓冲区中存储的待ReadFile读取的字节数。
cbOutQue:表示发送缓冲区中存储的待发送的字节数。
例:
DWORD dwReadErrors;
COMSTAT cmState;
ClearCommError(m_hComm,&dwReadErrors,&cmState);
- WinCE串口编程API函数(三)
- WinCE串口编程API函数(一)
- WinCE串口编程API函数(二)
- WinCE串口编程API函数(一)
- WinCE串口编程API函数
- WinCE串口编程API函数
- WinCE串口编程API函数
- WinCE串口编程API函数(二)
- 串口编程API函数
- 深入浅出VC++串口编程(三) 基于win API的串口编程
- WINCE 串口通信编程
- WINCE串口编程
- wince串口编程
- wince中的串口编程
- wince中的串口编程
- wince中的串口编程
- wince中的串口编程
- 基于API函数的串口通信编程
- ActionForm
- Main方法传递参数执行动态程序
- oracle的表的种类
- metro2033的4AEngine
- svn安装
- WinCE串口编程API函数(三)
- (违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条 )的原因
- RakNet的远程功能调用(RPC)客户端
- 需求捕获中的注意事项
- Apache 与Tomcat 整合发布网站
- Linux 下 mysql 的相关命令
- maxscript函数
- Reading Notes: Electronic Commerce, 4ed
- ndk download path.