查看: 2223|回复: 0
打印 上一主题 下一主题

[共享][开源]CRC16校验库

[复制链接]
跳转到指定楼层
沙发
发表于 2015-3-25 13:06:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#ifndef _USE_CRC16_H_
#define _USE_CRC16_H_
/***********************************************************
*   声明库说明:CRC16效验算法函数声明库                    *
*   版本:      v1.00                                      *
*   作者:      王卓然                                     *
*   创建日期:  2008年3月5日                               *
* -------------------------------------------------------- *
*  [支 持 库]                                              *
*   支持库名称:                                           *
*   需要版本:                                             *
*   支持库说明:                                           *
* -------------------------------------------------------- *
*  [版本更新]                                              *
*   修改:                                                 *
*   修改日期:                                             *
*   版本:                                                 *
* -------------------------------------------------------- *
*  [版本历史]                                              *
* -------------------------------------------------------- *
*  [使用说明]                                              *
***********************************************************/

/********************
* 头 文 件 配 置 区 *
********************/

/********************
*   系 统 宏 定 义  *
********************/

/*------------------*
*   常 数 宏 定 义  *
*------------------*/
# define    CRC_INIT        0xFFFF

/*------------------*
*   动 作 宏 定 义  *
*------------------*/
#define CRC(__CRCVAL,__NEWCHAR) \
                {\
                    (__CRCVAL) = ((UINT16)(__CRCVAL) >> 8) \
                    ^ wCRC_Table[((UINT16)(__CRCVAL) ^ (UINT16)(__NEWCHAR)) & 0x00ff];\
                }
/********************
*  用户变量类型定义 *
********************/

/********************
*    结构体定义区   *
********************/

/********************
*   函 数 引 用 区  *
********************/
extern UINT16 Get_CRC16_Check_Sum(BYTE *pchMessage,
                                UINT32 dwLength,UINT16 wCRC);
extern BOOL Verify_CRC16_Check_Sum(const BYTE* pchMessage,
                                    UINT32 dwLength);
extern BYTE *Append_CRC16_Check_Sum(BYTE* pchMessage,
                                    UINT32 dwLength);
/********************
*   全局变量引用区  *
********************/

extern __flash UINT16 wCRC_Table[256];
#endif







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表