📄 serialhandler.h
字号:
// SerialCom.h: interface for the CSerialHandler class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SERIALCOM_H__41E441F1_BB8F_43F9_9578_0193A41EA569__INCLUDED_)
#define AFX_SERIALCOM_H__41E441F1_BB8F_43F9_9578_0193A41EA569__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "GenComm.h"
const int CRC_CHECKSUM = 0;
const int BCC_CHECKSUM = 1;
const int LRC_CHECKSUM = 2;
const UINT MAXBLOCK = 2048;
const UINT XON = 0x11;
const UINT XOFF = 0x13;
const UINT INITTIMER = 1003;
const UINT BYTENUMBER = 256;
typedef struct
{
UINT Baud; //115200
UINT DataBits;//8bits
UINT Parity;//No Parity
UINT Respond_TimeOut;
UINT StopBits;//1 stop bit
UINT Port;
}SERIAL_PARAM;
class CSerialHandler : public CObject
{
public:
CSerialHandler(CWinThread * pThread);
virtual ~CSerialHandler();
public:
volatile BOOL m_bConnected; //连接标志 FALSE -- 串口关闭,TRUE -- 串口打开
volatile HANDLE m_hCom; // 串行口句柄
public:
char m_cPort[5]; //端口号
UINT m_nBaud; //波特率
UINT m_nDataBits; //数据位
UINT m_nStopBits; //停止位
UINT m_nParity; //校验位
UINT m_nFlowCtrl; //流控制
UINT m_nRespond_TimeOut;
COMMTIMEOUTS ComTimeOuts; //超时结构
int m_nProtocol; //协议
public:
//UINT CommProc(); //监视串口字符事件线程
BOOL CalculateChecksum(unsigned char * pByte, int nNumberOfBytes,
unsigned short *pChecksum, int nChecksumMode /* = BCC_CHECKSUM */);
void CalculateBCC(unsigned char * pByte, int nNumberOfBytes, unsigned short *pChecksum);
void CalculateCRC(unsigned char *pByte, int nNumberOfBytes, unsigned short *pChecksum);
void CalculateLRC(unsigned char *pByte, int nNumberOfBytes, unsigned short *pChecksum);
BOOL ConfigConnection(HANDLE m_hCom); // 配置连接参数
BOOL OpenConnection(); // 打开参数
BOOL CloseConnection(); // 关闭连接
DWORD WriteComm(unsigned char *buf,DWORD dwLength);//发送串口数据
protected:
CWinThread* m_pWatchThread; // 监视串口的线程
public:
CWinThread* m_pParentThread;
OVERLAPPED m_osRead, m_osWrite; // 用于重叠读/写
public:
BOOL ReadComm(unsigned char * pBuf,UINT * PLen,UINT maxLen);
};
#endif // !defined(AFX_SERIALCOM_H__41E441F1_BB8F_43F9_9578_0193A41EA569__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -