CommRS232.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __COMMRS232_20160221__
  2. #define __COMMRS232_20160221__
  3. #pragma once
  4. class CCommRS232
  5. {
  6. public:
  7. CCommRS232(void);
  8. ~CCommRS232(void);
  9. private:
  10. HANDLE m_hComm; // 串口句柄;
  11. BOOL m_bOpened; // 串口是否打开;
  12. BYTE m_byCommPort; // 串口号;(1-255)
  13. DWORD m_dwBaudRate; // 波特率;
  14. BYTE m_bySize; // 数据位(4-8);
  15. BYTE m_byParity; // 校验位(0-4,分别:None、Odd、Even、Mark、Space);
  16. BYTE m_byStopBits; // 停止位(也叫结束位,0,1,2 = 1, 1.5, 2);
  17. BYTE m_byStartAddr; // 起始地址;
  18. INT m_nInterval; // 间隔时间,毫秒;
  19. BOOL InitComm();
  20. BOOL CloseComm();
  21. public:
  22. BOOL InitComm(
  23. IN CONST BYTE& byCommPort, // 串口号;
  24. IN CONST DWORD& dwBaudRate, // 波特率;
  25. IN CONST BYTE& bySize, // 数据位;
  26. IN CONST BYTE& byParity, // 校验位;
  27. IN CONST BYTE& byStopBits, // 停止位;
  28. IN CONST BYTE& byStartAddr, // 起始地址;
  29. IN CONST INT& nInterval // 间隔时间;
  30. );
  31. virtual INT Write(IN BYTE *pWirteBuf, IN CONST INT& nWriteSize);
  32. virtual INT Read(IN BYTE *pReadBuf, IN CONST INT& nReadSize);
  33. };
  34. #endif // __COMMRS232_20160221__