serialcomm.h

来自「一个通用的WINCE下的串口通信类」· C头文件 代码 · 共 55 行

H
55
字号
#ifndef _SERIALCOMM_H
#define _SERIALCOMM_H

#include "stdafx.h"

#define IN_QUEUE_SIZE  512
#define OUT_QUEUE_SIZE 512

#define CM_EVENTARRIVE WM_USER + 100002
#define EVT_RXCHAR

#define CLEAR_INBUFFER	0UL
#define CLEAR_OUTBUFFER	1UL
#define CLEAR_BOTH		2UL

class CSerialComm
{
public:
	CSerialComm();
	~CSerialComm();

	BOOL IsActive();
	BOOL Open(const int nCom);
	void Close();
	BOOL SetBaud(const int Baud);

	int GetInBufferLen();
	BOOL ClearBuffers(DWORD clrFlag);
	BOOL SetReadTimeOut(DWORD dwTime);
	int ReadBuf(char *buf, const int BytesToRead);
	int SendBuf(const char *buf, const int BytesToSend);


	BOOL StartAutoRead();
	BOOL SetEvtMask(DWORD EvtMask);
	BOOL WaitEvent(LPDWORD EvtMask);
	void DoOnReceiveData();
	void (*m_OnReceive)(CSerialComm *theCom);

	int m_Error;

private:
	BOOL SetTimeOuts();

	static UINT ReadProc(LPVOID param);
	static UINT ExecProc(LPVOID param);

private:
	HANDLE m_hComm;
	BOOL m_bActive;
	CWinThread *m_ReadThread;
	CWinThread *m_ExecThread;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?