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

📄 function.h

📁 lpc2136芯片的硬件全部功能示例程序
💻 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 + -