RS485读写头文件 VC++代码

    技术2022-05-11  74

    // SerialPort.h: interface for the CSerialPort class. // // #if !defined(AFX_SERIALPORT_H__5EA960A8_CC22_11D4_86FD_5254AB12C040__INCLUDED_) #define AFX_SERIALPORT_H__5EA960A8_CC22_11D4_86FD_5254AB12C040__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CHanwangEye; #define ASCII_BEL 0x07 #define ASCII_BS 0x08 #define ASCII_LF 0x0A #define ASCII_CR 0x0D #define ASCII_XON 0x11 #define ASCII_XOFF 0x13 DWORD FAR PASCAL CommWatchProc(LPVOID lpData); #include "CommonSocket.h" class CSerialPort { public: CSerialPort(); virtual ~CSerialPort(); HANDLE m_hCom; BOOL m_fConnected; HANDLE m_hCommWatchThread; DWORD m_dwThreadID; OVERLAPPED m_osRead, m_osWrite; CHanwangEye* m_pEye; bool m_blIdle; LPBYTE pReceive; int nReceive; //当前报文长度 int mReceive; //最大长度 /*#ifdef LPR_DOHERELARGE BYTE m_pInfo[e_nInfoLength]; BYTE m_pID[e_nIDLength]; BYTE m_pEmptyID[e_nIDLength]; BYTE m_pImage[e_nImageLength]; int m_nImageState; #endif*/ BOOL m_bClearUntillEmpty; public: BOOL Connect(CString szCom, DWORD BaudRate, BYTE ByteSize, BYTE StopBits, BYTE Parity); BOOL Disconnect(); BOOL GetCommState(DCB* pDCB); BOOL SetCommState(DCB* pDCB); BOOL GetCommTimeouts(LPCOMMTIMEOUTS lpCommTimeouts); BOOL SetCommTimeouts(LPCOMMTIMEOUTS lpCommTimeouts); BOOL Write(LPBYTE pData, DWORD dwLength); DWORD Read(LPBYTE pData, DWORD dwLength); DWORD ReadByBlock(LPBYTE pBuffer, DWORD dwWantSize, DWORD dwBlockSize); static int Write(CSerialPort* pSerial1, LPBYTE pData1, DWORD dwLength1, CSerialPort* pSerial2, LPBYTE pData2, DWORD dwLength2); }; #endif // !defined(AFX_SERIALPORT_H__5EA960A8_CC22_11D4_86FD_5254AB12C040__INCLUDED_)

    最新回复(0)