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

📄 com_control.h

📁 实现了串口通信
💻 H
字号:
#ifndef _COM_CONTROL_H_
#define _COM_CONTROL_H_

#include<iostream>
#include "afxmt.h"
#include <string.h>
using namespace std;

#define PACKAGE_BUFFER_SIZE sizeof(PACKAGE)
#define BUFFER_SIZE 1024
#define FILENAMELENGTH 20

#define NORMAL_MESSAGE 0
#define FILE_PACKAGE 1 
#define FILE_BEGINNING 2
#define FILE_MIDDLE 3
#define FILE_ENDING 4
#define file_both 5



// 传输数据包
class PACKAGE{
public:
	int iPckType;
	char  iPckName[FILENAMELENGTH];
	int iType;
	int iDataLen;
	char pData[BUFFER_SIZE];	
	PACKAGE(){
		Clear();
	}
	void Clear()
	{
		iDataLen  = 0;
		iType = 0;
		ZeroMemory(pData, sizeof(*pData));
		ZeroMemory(iPckName, sizeof(*iPckName));	
	}
	void SetPck(int Pcktype,char *pckname,int type,char *DataBuffer,int DataLen){		
	    iPckType=Pcktype;
		if(pckname!=NULL)
			strcpy(iPckName,pckname);
		if (type!=0)
			iType=type;	
		iDataLen=DataLen;
		memcpy(pData,DataBuffer,BUFFER_SIZE);
	}
};



class _COM
{
private:
	HANDLE hCreate;  // 创建串口的句柄;
	BOOL Success;    // 存储调用函数返回值,用来判断是否正确

	PACKAGE RecvPck, Sendpck;
	ULONG RecvPTR;

	CEvent	SendEvent; //(0,true,0,0);
	CEvent RecvEvent; //(0,true,0,0);
	OVERLAPPED	SendOV,RecvOV;

public:
    _COM();  // 构造
	~_COM();	
	int ComInitial( char *ComName );  	
	PACKAGE *ReadCom( void );
	int WriteCom(PACKAGE pck );
	int CloseCom( void );
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -