📄 function.h
字号:
/*************************************************************
WPD800 通用函数
修改历史 2007-10-9 zaken create version 1.0
*************************************************************/
#ifndef _FUNCTION_
#define _FUNCTION_
//检查某字节是否压缩BCD码
//是压缩BCD则返回true
bool IsBcdb(BYTE b);
//检查某字是否压缩BCD码
//是压缩BCD则返回true
bool IsBcdw(WORD w);
//4位压缩BCD数与4位16进制数的转换
//1000(BCD)<->03E8(HEX)
WORD BcdHex(WORD b);
WORD HexBcd(WORD h);
//4位压缩BCD小数与4位16进制小数的转换
//3000(0.3000)<->4CCD(HEX)
WORD FraHex(WORD f);
WORD HexFra(WORD h);
//压缩BCD定点数(4位整数4位小数)与16进制定点数(4位整数4位小数)的转换
//10003000(1000.3000)<->03E84CCD(HEX)
DWORD HexFix(DWORD h);
DWORD FixHex(DWORD f);
//计算1个字节的CRC-16
//参数:
//Ch =被计算的字节内容
//crc =上一次CRC-16计算结果
//返回值:
//crc =计算后的CRC-16结果
void CrcCh(BYTE ch,WORD *crc);
//计算1个字节数组的CRC-16
//参数:
//p =数组的开始地址(第1个字节=数组长度)
//返回值:
//计算的CRC-16值添加在数组尾部并修改数组的长度(第1个字节+2)
bool CrcStr(BYTE *p);
//Crc 校验函数
// lSize 不包括两个字节的校验码长度
bool CrcOk( BYTE* pSrc, long lSize );
//Crc 码计算函数
//lSize 不包括两个字节的校验码长度
WORD CrcCalc( BYTE* pSrc, long lSize );
//Crc 码生成函数
//lSize 不包括两个字节的校验码长度
//Crc 码放置在数据区末尾
void CrcMake( BYTE* pSrc, long lSize );
//将1个字COPY到缓冲区中,低字节在前,高字节在后
void sprintw(BYTE * sBuf,WORD w);
//将1个双字COPY到缓冲区中,低字节在前,高字节在后
void sprintdw(BYTE * sBuf,DWORD dw);
//产生一个小延时
void SmallDelay(int delay);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -