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

📄 dataoperator.h

📁 嵌入式DOS系统上位升级程序FileUpgrade, 需配合本人上传的FileUpr程序应用, VC++开发, 非常实用, 内附说明及源码
💻 H
字号:
// DataOperator.h: interface for the CDataOperator class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DATAOPERATOR_H__457EEFB0_487F_422F_A973_6845606C221F__INCLUDED_)
#define AFX_DATAOPERATOR_H__457EEFB0_487F_422F_A973_6845606C221F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "CommPort.h"
#include "ReSendPackageIndex.h"

enum{THROWMAG_OK=0,THROWMAG_STOP,THROWMAG_ERROR,THROWMAG_OVERTTIME,THROWMAG_OTHER};

struct DowloadFileMsg
{
	struct File
	{
		CString srcName;
		CString objName;
	}Name[24];
	short int Count;
};


class CDataOperator : public CCommPort  
{
public:
	void SetPackageSize(unsigned short int uSize)
	{
		if(uSize==0 || uSize%512!=0) m_uPackageSize=1024;
		else m_uPackageSize=uSize;
	}
	void SetSendIntervalSecond(short int uSec)
	{
	}
	void SetConnectModel(short int model)
	{
	}
	void SetWorkModel(short int model)
	{
	}
	void SetObjComputerNo(unsigned long  int x)
	{
		m_ObjComputerNo=x;
	}
	void Send_Stop_B9_Protocol();
	void Start();
	CDataOperator();
	virtual ~CDataOperator();
	struct DowloadFileMsg mDowloadFileMsg;
	short int mExitSystemMark;
protected:
	virtual void RecvNewChar(unsigned char ch);
private:
	void SendFile(const char *objFileName,unsigned char unSendFileCount);
	unsigned short int ReceiveDataPackage(unsigned char  *Datas);
	unsigned short int WaitData();
	void SendDataPackage(unsigned char *Datas);
	void SendFileData_0xB2(unsigned short int Index);
	void ReceiveErrorCode(unsigned char ErrorCode);
	CReSendPackageIndex m_ReSendIndex;
	unsigned char *m_ptrFileBuffer;
	unsigned long  m_lFileLength;
	unsigned short m_uPackageSize;
	unsigned short m_uPackageCount;
	unsigned long  m_lFileCrcCode;
	unsigned long  m_ObjComputerNo;
	unsigned long  m_connComputerNo;

};

//公用文件
#define ULongInt(s)   (*(unsigned long int *)(s))
#define UShortInt(s)  (*(unsigned short int *)(s))
#define LongInt(s)    (*(long int *)(s))
#define ShortInt(s)   (*(signed short int *)(s))
#define ULongInt(s)   (*(unsigned long int *)(s))
#define UShortInt(s)  (*(unsigned short int *)(s))
#define LongInt(s)    (*(long int *)(s))
#define ShortInt(s)   (*(signed short int *)(s))
extern unsigned long ftonl(unsigned long t);
extern unsigned short ftons(unsigned short t);
extern unsigned long ftonl(const void *t);
extern unsigned short ftons(const void *t);
#define htons(A)	((((A) & 0xFF00) >> 8) | (((A) & 0x00FF) << 8))
#define htonl(A)	((((A) & 0xFF000000L) >> 24) |  (((A) & 0x00FF0000L) >> 8) |  (((A) & 0x0000FF00L) << 8) | (((A) & 0x000000FFL) << 24))
inline unsigned long ftonl(unsigned long t)
{
	return htonl(t);
}
inline unsigned long ftonl(const void *t)
{
	return htonl(*(unsigned long*)t);
}
inline unsigned short ftons(unsigned short t)
{
	return htons(t);
}
inline unsigned short ftons(const void *t)
{
	return htons(*(unsigned short*)t);
}
#endif 

⌨️ 快捷键说明

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