Channel.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _CHANNEL_H_
  2. #define _CHANNEL_H_
  3. //---------------------------------------------- CChannel ---------
  4. class USCADADLLEXPORT CChannel:public CObject // 通信口对象;
  5. {
  6. protected:
  7. DECLARE_SERIAL(CChannel);
  8. CChannel();
  9. public:
  10. void MoveToNextDevice();
  11. virtual ~CChannel();
  12. CChannel &operator=(CChannel& comport);
  13. virtual CChannel* Clone(void);
  14. virtual void Serialize(CArchive& ar);
  15. virtual void ReadData(void *pData, int nLen){};
  16. virtual void WriteDate(void *pData, int nLen){};
  17. virtual void FreshData(void);
  18. public:
  19. int GetUsedDeviceNum();
  20. CString m_strName; // 通信口名称
  21. int m_nCommunicateType; // 通信类型 0: 串口通信协议 1:网络通信协议
  22. CDeviceArray m_Devices; // 下挂串口设备;
  23. int m_nCurDeviceNo; // 当前工作的设备号,-1时所有设备都处理;
  24. //add
  25. CString m_strPort; // 端口名(如COM1,COM2等);
  26. int m_nAddr; // 地址
  27. int m_nBaudRate; // 0-6=1200,2400,4800,9600,14400,19200,38400;
  28. int m_nByteSize; // 0-2=6,7,8
  29. int m_nParity; // 0-4=no,odd,even,mark
  30. int m_nStopBits; // 0-2=1,1.5,2
  31. BOOL m_bDTRDSR;
  32. BOOL m_bRTSCTS;
  33. BOOL m_bXONXOFF;
  34. };
  35. typedef CTypedPtrArray<CObArray, CChannel*> CChannelArray;
  36. #endif //(_CHANNEL_H_)