ProtocolModbus.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // ProtocolPMC916.h: interface for the CProtocolModbus class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_PROTOCOLPMC916_H__GREE__INCLUDED_)
  5. #define AFX_PROTOCOLPMC916_H__GREE__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define DEBUG_PROTOCOL 1
  10. #include "Protocol.h"
  11. class CProtocolModbus : public CProtocol
  12. {
  13. public:
  14. UINT GetCRC(BYTE *pBuf, int len);
  15. virtual BOOL InitParam(PPORTPARAM pPortParam, CCommAsyn *pComm);
  16. virtual int WorkMain(int nAddr, int nDataLen, int nReadPos, char chMsg[80]);
  17. virtual int WriteCommand(
  18. int nAddr,
  19. int nWorkStatus, int nWorkMode, int nFanSpeed,
  20. int nPutWind, int nAirTrade, int nSleep, int nLight,
  21. int nTempSetPoint );
  22. CProtocolModbus();
  23. virtual ~CProtocolModbus();
  24. protected:
  25. HANDLE m_hSemComm;
  26. CRITICAL_SECTION m_csReadFinished;
  27. CRITICAL_SECTION m_csWrFinished;
  28. protected:
  29. virtual int RequestStatus(int nAddr);
  30. virtual int ResponseStatus( int nAddr, int nDataLen,int nReadPos, char chMsg[80]);
  31. virtual int RequestWrStatus( int nAddr, int nWorkStatus, int nWorkMode, int nFanSpeed,
  32. int nPutWind, int nAirTrade, int nSleep, int nLight,
  33. int nTempSetPoint );
  34. virtual int ResponseWrStatus( int nAddr, int nWorkStatus, int nWorkMode, int nFanSpeed,
  35. int nPutWind, int nAirTrade, int nSleep, int nLight,
  36. int nTempSetPoint );
  37. };
  38. BYTE GetCheckCode(const char * pSendBuf, int nEnd);//»ñµÃУÑéÂë
  39. char ByteToAscii(BYTE btSrc);
  40. WORD AsciiToBYTE(BYTE btSrc);
  41. static unsigned char LRC(unsigned char *auchMsg, unsigned short usDataLen);
  42. #endif // !defined(AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_)