⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialcomm.h

📁 一个通用的WINCE下的串口通信类
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -