serialcomm.h

来自「可实现串口通信的DLL文件源码.通信速度快,易调试,占用系统资源少,非常实用.」· C头文件 代码 · 共 38 行

H
38
字号
#include "stdafx.h"

using namespace std ;

class CSerialComm
{
private:
	string mPortName;//端口名称,COM1,COM2,......
	HANDLE mhCom;    //串口句柄
	DWORD  mdwStoredFlags;
	DWORD  mdwCommEvent;
	COMMTIMEOUTS mcommTimeOuts;//超时
	DCB    mDCB;     //端口配置
	CommPortSettings mPortSettings;//端口基本配置数据
	BYTE mrecvBuf[InOutBufferSize];//接收缓冲区
	DWORD mrecvBytesNum;           //接收缓冲区中接收的字节个数
	OVERLAPPED mosRead,mosWrite;//用于重叠读/写
    OVERLAPPED mosStatus;       //主要用于读数据

	HANDLE mhReadThread;    //读线程句柄
	DWORD  mdwReadThreadId; //读线程线程标示
	BOOL   mbReadFlag;      //决定线程的运行

	CRITICAL_SECTION CriticalSection; //同步临界区
public:
	CommPortStatus mPortStatus;
public:
	CSerialComm(LPCTSTR xComName,CommPortSettings xPortSettings);
	DWORD ReadComm(BYTE* xBuffer,DWORD xLength); //从串口缓冲区中读入指定数量的字符
    BOOL WriteComm(BYTE* xBuffer,DWORD xLength); //把指定数量的字符(字节)从串口中输出
	friend DWORD WINAPI ReadThread(LPVOID xpParam);  //读线程
    friend void ReportStatusEvent(LPVOID xpParam);   //辅助过程
	~CSerialComm();
};


		
		

⌨️ 快捷键说明

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