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

📄 ccd_commcenter.h

📁 串口传输文件device端实例
💻 H
字号:
/*************************************************************************/
/*                                                                       */
/*   Copyright (c) 1993-2002 YULONG COMPUTER                             */
/*                           TELECommCenterUNICATION SCIENTIFIC CO.,LTD.       */
/*           宇龙计算机通信科技(深圳)有限公司  版权所有 1993-2002        */
/* PROPRIETARY RIGHTS of eWayCyber Technologies are involved in the      */
/* subject matter of this material.  All manufacturing, reproduction,    */
/* use, and sales rights pertaining to this subject matter are governed  */
/* by the license agreement.  The recipient of this software implicitly  */
/* accepts the terms of the license.                                     */
/* 本软件文档资料是宇龙计算机通信科技(深圳)有限公司的资产,任何人士阅读和 */
/* 使用本资料必须获得相应的书面授权,承担保密责任和接受相应的法律约束.    */
/*                                                                       */
/*************************************************************************/


//===========================================================================
//	                                                                        
//  Product    : YuLong PDA application Example for EOS                      
//  Module     : CommCenter_RecvFile.h                                                 
//  Version    : 1.00                                                      
//                                                                           
//---------------------------------------------------------------------------
//                                                                           
//  Description : 应用程序的基本例子            
//                                     
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//                                                                           
//  Author         : Liupei                     
//  developed on   :                                             
//  last update    :   
//  last update    : 
//                                                                           
//===========================================================================
#ifndef __YL_CCD_CommCenter_RECVFILE_V1_00_0000_H__
#define __YL_CCD_CommCenter_RECVFILE_V1_00_0000_H__

#define debug_modul

#define CommCenter_FILEWAIT			0		//等待文件传输	
#define CommCenter_FILEREQ			1		//传输文件请求	
#define CommCenter_FILEDATA			2		//传输文件内容	
	
#define FILE_INDEX				0		//文件索引号
#define FILE_PATHLEN			1		//文件路径长度	
#define FILE_PATH				2		//文件路径
#define FILE_LENTH				3		//文件长度			  
#define FILE_DATA				4		//文件内容

#define CommCenter_PACKETHEAD			0		//接收包头
#define CommCenter_PACKETINFO	    	1		//接收包体			  

#define MAXPATH_LEN				256

//定义线程和主进程之间的消息
#define RSPCOM_MSG				firstUserEvent+32

//通讯协议头部格式
typedef struct tag_CommCenter_PACKETHEADType
{
	UInt16		cTAG;		// 信息包头,0xfff0
	UInt16		cCRC;		// 校验位,整个数据报文的CRC校验和
	Char		cVersion1;	// 版本号1,通讯版本号=0x01
	Char		cVersion2;	// 版本号2,应用版本号=0x01
	Char		cFC;		// 功能号
	Char		cPC;		// 过程号
    UInt32      cSIGN;		// 标志位(包括第0和1位:压缩类别)
	UInt32		cSEQ;		// 从通讯会话开始计时的数据报文的序号
	UInt32		clen;		// 指示INFO的数据长度。
} CommCenter_PACKETHEADType;

//当前文件索引
typedef struct tag_CommCenter_FILEINDEXType
{
	Int32		WriteLen;	// 已写入长度
	Int32		nId;		// 文件序号
	Int32		len;		// 文件长度
	Int32		PathLen;	// 文件路径长度
	Char		Path[MAXPATH_LEN];	// 文件路径
} CommCenter_FILEINDEXType;

typedef struct tag_CommCenter_DWSTRINGInfo
{
	Int32 nlen;      //指示缓冲区的长度
	Char  szData[1]; //指示缓冲区地址
} CommCenter_DWSTRINGInfo;

typedef struct tag_CommCenter_DEMOGVR_Type
{
	Handle		deBugfp;
	Handle		hFile;				// 文件句柄
	Int16		comId;		        // 串口句柄
	Int16		nStep;				// 数据传输步骤[0]等待接收文件;[1]收到发送文件请求;[2]收文件
	Int16		nStat;				// 状态[0]读包头[1]读包体
	Int16		fStep;				// 接收文件步骤[0]读文件索引;[1]读文件路径长度;[2]读文件路径;[3]读文件长度;[4]读文件内容
	Int32		nPotS;				// 指示未处理开始点
	Int32		nPotE;				// 指示未处理结束点
	Int32		FiletotleCount;		// 待传输文件总个数
	UInt16		CRC;			    // CRC校验位
	Char		szStoreBuffer[sizeof(CommCenter_PACKETHEADType) + 1024 + 100]; //包头 + 包体 缓冲区
	CommCenter_PACKETHEADType *pcb;	    // 包头信息	
	CommCenter_FILEINDEXType   fcb;	    // 文件信息
} CommCenter_DEMOGVRType;

extern WinHandle g__winP;

extern Int32	CommCenter_RspSendFileEvent(CommCenter_DEMOGVRType *CommCenterVar);
extern Boolean	CommCenter_ErrorDealEvent(CommCenter_DEMOGVRType *CommCenterVar, Int32 ErrorCode, Int32 cSEQ);
extern Boolean	CommCenter_OpenInitCom(CommCenter_DEMOGVRType *CommCenterVar);
extern Boolean  MdWithFile(Char *dirName, Char *chrPtr);

extern Boolean	CommCenter_IOThread(void);

extern Int32	CommCenter_ntohl(Int32 x);
extern Int16	CommCenter_ntohs(Int16 x);
extern Int32	CommCenter_htonl(Int32 x);
extern Int16	CommCenter_htons(Int16 x);

#endif//__YL_CommCenter_RECVFILE_V1_00_0000_H__

⌨️ 快捷键说明

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