/***************************************************************
*Copyright (c) 2014,TianYuan
*All rights reserved.
*
*文件名称: standard.h
*文件标识: 编程规范示例代码
*
*当前版本:V1.0
*作者:wuyq
*完成日期:20140709
*
*修改记录1: //修改历史记录,包括修改日期、版本号、修改人及修改内容等
*修改日期 版本号 修改人 修改内容
* --------------------------------------------------------------------------------------------------
* 20140709 V1.0 wuyq 创建
******************************************************************/
#ifndef _STANDARD_H__
#define _STANDARD_H__
/*重定义一些基本数据类型*/
typedef char s8;
typedef unsigned char u8;
typedef signed short s16;
typedef unsigned short u16;
typedef int s32;
typedef unsigned int u32;
typedef float f32;
typedef signed long long s64;
typedef unsigned long long u64;
typedef enum {FALSE =0, TRUE =!FALSE} bool;
typedef bool BOOL;
/* 消息头 */
typedef struct {
u16 u16MsgType; /* 消息类型*/
u16 u16MsgLength; /*有效消息数据长度*/
u8 u8TransType; /*传输通道0:网络 1:串口*/
u8 u8Reserved[3]; /*对齐*/
}STRU_MSG_HEAD;
/* 时间信息*/
typedef struct {
u16 u16Year; /*年*/
u16 u16Month; /*月*/
u8 u8Day; /*日*/
u8 u8Hour; /*时*/
u8 u8Minute; /*分*/
u8 u8Second; /*秒*/
}STRU_TIME_INFO;
/* MCM->Main 查询系统信息*/
struct stru_machine_info_req {
STRU_MSG_HEAD struMsgHeader;/*消息头*/
};
/* Main->MCM 反馈系统信息*/
struct stru_machine_info_rsp {
STRU_MSG_HEAD struMsgHeader;/*消息头*/
f32 f32Temp;/*当前采样温度*/
f32 f32Vol;/*当前采样电压*/
f32 f32CpuFreq;/*Cpu频率*/
u32 u32FreeMem;/*剩余内存*/
u32 u32FreeDisk;/*剩余FLASH空间*/
};
/* Main向MCM返回软件升级结果 */
struct stru_software_update_rsp {
STRU_MSG_HEAD struMsgHeader;
u8 b8Successful;/*是否升级成功*/
u8 u8Reserved[3];/*字对齐,保留*/
};
//函数头部的可采用如下的样式
/**********************************************************************
*功能描述:
*输入参数:
*输出参数:
*返回值:
*其它说明:
*修改记录1: //修改历史记录,包括修改日期、版本号、修改人及修改内容等
*修改日期 版本号 修改人 修改内容
* --------------------------------------------------------------------------------------------------
* 20140709 V1.0 wuyq 创建
***********************************************************************/
#endif
/**********************************************************************
*Copyright (c) 2014,TianYuan
*All rights reserved.
*
* 文件名称: UnitTest.c
* 文件标识:无
* 内容摘要:协议及单元测试示例代码
* 其它说明:无
* 当前版本: V1.0
* 作 者: wuyq
* 完成日期: 20140709
*
*修改记录1: //修改历史记录,包括修改日期、版本号、修改人及修改内容等
*修改日期 版本号 修改人 修改内容
* --------------------------------------------------------------------------------------------------
* 20140709 V1.0 wuyq 创建
**********************************************************************/
#include
#include
// 重定义数据类型 typedef unsigned char UINT8; typedef unsigned short int UINT16; typedef unsigned int UINT32; typedef signed int INT32; // 消息头结构 typedef struct { UINT16 iReserve1; UINT16 iReserve2; UINT16 iReserve3; UINT16 iReserve4; }MsgHead_T; // 消息结构体(包含消息头和消息体) typedef struct { MsgHead_T MsgHead; // 消息头 UINT32 iOperType; // 操作类型, 操作类型只能为1或2 UINT8 szUserNumber[30]; // 用户号码 UINT8 szOperTime[20]; // 操作时间, 格式为: yyyymmdd UINT32 iReserve1; // 保留字段1 UINT8 szReserve2[50]; // 保留字段2 }UserReqMsg_T; // 函数声明 INT32 ProcUserReqMsg(UserReqMsg_T *ptUserReqMsg); INT32 main(); /********************************************************************** * 功能描述:主函数 * 输入参数:无 * 输出参数:无 * 返回值: 0-执行完毕 * 其它说明:无 * 修改日期 版本号 修改人 修改内容 * ----------------------------------------------------------