文件名称:串口 大文件 发送
文件大小:7.55MB
文件格式:ZIP
更新时间:2015-02-04 10:53:58
串口 大文件 发送
#ifndef __WD_PROTOCOL_H__
#define __WD_PROTOCOL_H__
#define SERIALPORT_BUFF_LEN (1024*100) //串口缓存
//区长1M Byte
//释放内存时,专用的宏
#define DELETE_OBJ(X) if(x){deletex;x=NULL;}
#define DELETE_ARRAYOBJS(x) if(x){delete[]x;x=NULL;}
#define CMD_SYN_WORD 0xBBAAFE6B //同步字
#define FILEDATA_LEN 1024*2 //文件数据块长度
typedef enum tagCMDTYPE
{
CMD_UNKNOWN =0,
CMD_FILEINFO =1,
CMD_FILEDATA =2,
CMD_FILEEOF =3,
CMD_FILEINFO_RESP =4,//响应命令
CMD_FILEDATA_RESP =5,//响应命令
CMD_FILEEOF_RESP =6 //响应命令
}CMDTYPE;
typedef enum tagCMDSTATE
{
STATE_UNKNOWN =0, //未知状态
CMD_STATE_OK =1,
CMD_STATE_ERROR =2
}CMDSTATE;
//帧头-命令消息头
typedef struct tagCMDHEADER
{
ULONG ulSyncWord; //同步头
CMDTYPE cmdType;
CMDSTATE cmdState;
ULONG ulPackLen; //包长度,包括数据+校验和
}CMDHEADER;
//文件信息结构体,主要发送文件名称和文件大小信息
typedef struct tagFILEINFO
{
CMDHEADER header; //帧头
UCHAR ucFileName[MAX_PATH]; //文件名称
ULONG ulFileNameLen; //文件名称长度
long lFileLen; //文件长度(单位:字节)
ULONG ulCheckSum; //校验和
}FILEINFO;
//要发送的文件数据结构体:主要是以固定大小发送文件中的数据
typedef struct tagFILEDATA
{
CMDHEADER header; //帧头
ULONG ulCheckSum; //校验和
UCHAR *pucBuf; //指向发送缓冲区
}FILEDATA;
//文件发送结束命令
typedef struct tagFILEEOF
{
CMDHEADER header;
ULONG ulCheckSum;
UCHAR *pucBuf;
}FILEEOF;
typedef struct tagADDATA
{
UCHAR ucSyncHeader1; //同步头,0xAABB
UCHAR ucSyncHeader2; //同步头,0xAABB
float fChan0; //通道0
float fChan1; //通道1
float fChan2; //通道2
float fChan3; //通道3
float fChan4; //通道4
float fChan5; //通道5
float fChan6; //通道6
float fChan7; //通道7
float fChan8; //通道8
float fChan9; //通道9
float fChan10; //通道10
float fChan11; //通道11
UCHAR ucCheckSum; //校验和,前面所有数据的累加和,并取低8位
}ADDATA;
ULONG CheckSum(UCHAR *pszBuf,ULONG ulBufLen)
{
ULONG ulCheckSum =0;
for (UINT i=0;i
【文件预览】:
SCOMM
----SCOMM()
--------ReadMe.txt(3KB)
--------StdAfx.h(1KB)
--------PushPin.h(1KB)
--------HYPERLINK.H(3KB)
--------SCOMM.APS(50KB)
--------SCOMM.OPT(144KB)
--------Scomm.cpp(2KB)
--------HYPERLINK.CPP(13KB)
--------SCOMM.NCB(721KB)
--------RES()
--------SCOMMDlg.h(5KB)
--------SCOMM.H(1KB)
--------AnimateDlgIcon.h(980B)
--------Debug()
--------AnimateDlgIcon.cpp(2KB)
--------resource.h(4KB)
--------LABEL.CPP(5KB)
--------WD_Protocol.h(2KB)
--------SCOMM.dsp(5KB)
--------SCOMM.rc(12KB)
--------PushPin.cpp(6KB)
--------SCOMM.DSW(533B)
--------SCOMM.clw(3KB)
--------StdAfx.cpp(207B)
--------SCOMM.plg(244B)
--------LABEL.H(2KB)
--------SerialPort.h(3KB)
--------SerialPort.cpp(19KB)
--------SCOMMDlg.cpp(43KB)