⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 communication.h

📁 gps对时
💻 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 + -