📄 communication.h
字号:
// Communication.h: interface for the CCommunication class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COMMUNICATION_H__36368C42_1E27_11D5_863E_444553540000__INCLUDED_)
#define AFX_COMMUNICATION_H__36368C42_1E27_11D5_863E_444553540000__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//管理串口类、Socket类、线程类
#include "comport.h"
class CRegionSocket;
class CComThrd;
class CProcDataThrd;
typedef CArray<HANDLE, HANDLE> ChEventArray; //the array of event
class CCommunication : public CObject
{
public:
void DegradeUserID(BYTE ID);
void Degrade();
void SendCenter();
int GetComIndexByPort(BYTE iPortNo);
BOOL CreateThreadEvents();
void StopAllRunningThread();
void ProcessCommData();
void TryToReadAllComm();
CCommunication();
virtual ~CCommunication();
//对串口类操作
BOOL AddTscCom(BYTE PortNo, DWORD dwBaudRate,BYTE DeviceType,BYTE DeviceNo,CString Depict);//增加串口
void DeleteTscCom(BYTE PortNo);//删除串口
void AdjustDevConnect();//判断设备是否超时
int FindComIndex(BYTE PortNo);//串口查询
//对线程操作
void StartProcData();// 表格处理线程开始
void StartComm();// 通讯口接收数据线程开始
//数据处理
void SendNotifyAllDev();//发设备状态通知给中心
void ConvertToDevice(BYTE DeviceType, BYTE DeviceNo, BYTE *tabBuff, int tabCount);//数据转发给串口设备
BOOL Run();
//BOOL FindEqualDevice(BYTE DeviceType,BYTE DeviceNo);
CComPortArray m_aCom; // 通讯口对象数组
ChEventArray m_aProcessEvent; // 表格处理通知事件数组
ChEventArray m_aReceiveEvent; // 通讯口接收数据事件数组
BYTE m_cRegionNo; // 区域号
CRegionSocket * m_pServerSocket; // 与中心连接的Socket
private:
CComThrd * m_pCommThread; // 通讯处理线程对象
CProcDataThrd * m_pProcessThread; // 表格处理线程对象
CMutex muxCommArray; //存取通信口对象的互斥变量
HANDLE ExitEvent; //通知线程退出事件
HANDLE ComChangeEvent,ProcessChangeEvent; //打开或关闭新的端口通知事件
// lv change 060809 该函数变量为类变量
BYTE TmpBuff[m_MaxTableLen];
};
#endif // !defined(AFX_COMMUNICATION_H__36368C42_1E27_11D5_863E_444553540000__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -