Files
HBshuiwuConcentrator/APP/General.h
2025-12-15 16:07:49 +08:00

98 lines
2.6 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef _GENERAL_H
#define _GENERAL_H
/*——————————————————————————
* 文 件 名General.h
* 文件说明: 普通函数源文件
*
* 当前版本V8.0
* 作 者ZL
* 开始日期2013-12-30
*———————————————————————————*/
#include "Basedefine.h"
#define CRC16_POLY 0x8005
#define CRC16_INIT 0xFFFF
/*************** 函数声明 ***************/
/*——————————————————————————
* 函 数 名GetSum
* 输入参数pMem:内存指针 Len-数据长度
* 输出参数None
* 返 回 值:算术累加值
* 功能说明:获取指定长度内存算术累加值
*——————————————————————————*/
u8 GetSum(u8 * buffer, u16 length);
/*——————————————————————————
* 函 数 名CheckBCDFormat
* 输入参数:*pDat:内存指针 dataLen-数据长度
* 输出参数None
* 返 回 值None
* 功能说明检查是否是bcd码格式
*——————————————————————————*/
bool CheckBCDFormat(u8 *pDat, u16 dataLen);
/*——————————————————————————
* 函 数 名GetCRC16
* 输入参数:*buff:内存指针 len:数据长度
* 输出参数None
* 返 回 值:检验结果
* 功能说明计算一个数组的CRC结果
*——————————————————————————*/
u16 GetCRC16(u8 *buff, u16 len);
/*——————————————————————————
* 函 数 名HexToBCD
* 输入参数uValue:需要转换的数据
* 输出参数None
* 返 回 值:转换结果
* 功能说明将Hex转换成BCD码
*——————————————————————————*/
u8 HexToBCD(u8 uValue);
/*——————————————————————————
* 函 数 名BCDToHex
* 输入参数uValue:需要转换的数据
* 输出参数None
* 返 回 值:转换结果
* 功能说明将BCD转换成Hex码
*——————————————————————————*/
u8 BCDToHex(u8 uValue);
/*——————————————————————————
* 函 数 名ShortLToH
* 输入参数uValue:需要转换的数据
* 输出参数None
* 返 回 值:转换结果
* 功能说明将16位数高低位调换
*——————————————————————————*/
u16 ShortLToH(u16 uValue);
/*——————————————————————————
* 函 数 名PrintBuffer
* 输入参数pBuf:内存指针
len:数据长度
* 输出参数None
* 返 回 值None
* 功能说明:内存打印
*——————————————————————————*/
bool cmp_datas(u8 * buf1, u8* buf2, u8 length);
u16 MODBUS_CRC16(u8 *updata, u16 len);
void SysReset(void);
u16 GetXYDXCRC16(u8 *buff, u16 len,u16 seed);
#define DATA_COUNT_MAX (24*30)
//#define DATA_COUNT_MAX (24*3)
#define CUR_DATA_LEN (5)
#define SUM_DATA_LEN (5)
#define SURPLUS_DATA_LEN (6)
#define ALA_DATA_LEN (4)
#endif