📄 comstatus.h
字号:
#if !defined(_COMM_ACCESS_FUNCTIONS_AND_DATA)
#define _COMM_ACCESS_FUNCTIONS_AND_DATA
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define EVENTCHAR 0x0d
#define MAXBLOCKLENGTH 59//130
// Flow control flags以下是一些流控制标志
#define FC_DTRDSR 0x01
#define FC_RTSCTS 0x02
#define FC_XONXOFF 0x04
// ascii definitions // ascii 码的定义
#define ASCII_XON 0x11
#define ASCII_XOFF 0x13
class CComStatus
{
public:
BOOL AutoZero(int outID=1);
int ReadCommBlock(LPSTR lpszBlock, int nMaxLength );
BOOL WriteCommBlock(LPSTR lpByte,DWORD dwBytesToWrite );
float ReadOutValue(int outID=1);
BOOL InitialCom();
char HexChar(char c);
int Str2Hex(CString str, char *data);
//串口共用句柄
HANDLE m_hCom;
BYTE m_bComId;
//串口的一些配置参数
BYTE m_bByteSize;
BYTE m_bStopBits;
BYTE m_bParity;
DWORD m_dwBaudRate;
char m_bEvtChar;
DWORD m_fBinary;
//当前的一些状态信息
BOOL m_bConnected;
BOOL m_fXonXoff;
BOOL m_bFlowCtrl;
//重叠读写
OVERLAPPED m_rdos;
OVERLAPPED m_wtos;
CComStatus();
void Set(BYTE bComId=1,BYTE bByteSize=8,BYTE bStopBits=ONESTOPBIT,BYTE bParity=NOPARITY,DWORD dwBaudRate=9600,char bEvtChar=EVENTCHAR,DWORD fBinary=1);
BOOL OpenConnection(); //打开串口
BOOL CloseConnection(); //关闭串口
BOOL SetupConnection(); //设置串口参数
BOOL IsConnected(); //串口是否打开
};
/******************************************************
GLOBAL FUNCTIONS
******************************************************/
//全局函数
//写串口数据函数
BOOL WriteCommBlock( CComStatus& comDev, LPSTR lpByte , DWORD dwBytesToWrite);
//读串口数据函数
int ReadCommBlock(CComStatus& comDev,LPSTR lpszBlock, int nMaxLength );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -