📄 serialcomm.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -