![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 论坛 | 淘宝网店 | | ||
|
||
|
|||||
| CRC16 C程序 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2008-01-06 ![]() |
|||||
|
Files : crc.cpp DesignBy: Xu Chen. UpdateBy: Xiao chengsheng Date: 1999.9.16 This program is secure module of host \*****************************************************/ //#define CRC_TEST #ifndef _CRC__ #define _CRC__ unsigned short crcCreate(unsigned short Length, char * TextPtr, unsigned short crc_start); #endif typedef unsigned short WORD; typedef unsigned char BYTE; //static WORD crc_table[16]; static const WORD crc_table[16]= { 0x0000, 0x1081, 0x2102, 0x3183, 0x4204, 0x5285, 0x6306, 0x7387, 0x8408, 0x9489, 0xA50A, 0xB58B, 0xC60C, 0xD68D, 0xE70E, 0xF78F }; WORD crcCreate(WORD Length, char * TextPtr, WORD crc_start) { BYTE TempChar; WORD i, index, CRCTemp; CRCTemp = crc_start; // CRC-CCITT preconditioning ==> 0xFFFF for(i=0; i TempChar = *TextPtr; index = ( CRCTemp ^ TempChar ) & 0x000F; // isolate low_order nibble (who remeber this word?) CRCTemp = (( CRCTemp>>4 ) & 0x0FFF) ^ crc_table[index]; TempChar >>= 4; index = ( CRCTemp ^ TempChar ) & 0x000F; CRCTemp = ( ( CRCTemp >> 4 ) & 0x0FFF ) ^ crc_table[index]; } // return ~CRCTemp; // CRC-CCITT post conditioning - bit inversion return CRCTemp; } #ifdef CRC_TEST main(){ char test[10] = {91,28,36,44,50,67,0x7a,0x8e,93,0}; printf("%4x\n",crcCreate(10,test,0xffff)); } #endif |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| Microchip推出具有数字信号处 新兴企业构建具有ARC内核的J 利用实时时钟IC RV5C338A实现 Microchip科技推出512K I2C串 Microchip科技推出新型dsPIC 带串行控制的10位模数转换器 Microchip科技推出首个低成本 增加Keil C166 C251十六位单 SAP和Palm组成移动CRM联盟 Microchip推出可提供高压连接 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|