电路设计,软件开发,专业项目团队承接电子产品开发!


ISPRO下载型编程器
火爆销售中

RS232/TTL转换器
全IC串口窃电

RS232/TTL转换线
全IC串口窃电

ByteBlasterMV Cable
CPLD/FPGA并口下载线

ByteBlaster II Cable ISPRO下载型编程器
支持S51/AVR/PIC
超级51开发板套件
前卫实用超值

PC/MCU/CPLD
三合一学习套件

全新万年历方案
AVR单片机开发板
 

Min51单片机仿真机
迷你型

ARM7开发板
仅售260元!
 

RS-232/RS-485双向接口电平转换器  

51单片机升级STM32
火爆销售中
MPLAB-ICD2
火爆销售中
LED51开发板
玩具又名图文显示棒

面板模块/开发板
经济危机明智决择

       

GSM MODEM GSM猫

SMS短信模块 工业级/全自动
火爆销售中

大功率数传电台

高速数传电台

您当前位置:电子技术资料 -> PC编程 -> VC/BC/C++ ->

祝您阅读愉快!

PC/MCU/CPLD三合一学习套件
↑↑本文相关产品介绍↑↑

16bit CRC c++ program


类别:技术文章
来源:未知
作者:未知
关键字:CRC
加入日期:2002-10-14

16bit CRC c++ program

int WINAPI CRCCheck(BYTE *n1,int num,BYTE *h1,BYTE *l1)
{
int i,j;
BYTE r1,r0;
BYTE m0,m1;
BYTE *bptr;
bptr=new BYTE[num];
for(i=0;i<num;i++)
bptr[i]=n1[i];
r1=r0=0;
for(j=0;j<num;j++)

for(i=0;i<=7;i++)
{
m0=0;
m1=0;
if(((bptr[j]^r0) & 1 )==1)
m1=0x80;
if((r1 & 0x1)==1)
m0=0x80;
r0=r0/2+m0;
r1=r1/2;
if(m1==0)
bptr[j]=bptr[j]/2;
else
{
r0=r0^0x8;
r1=r1^0x84;
bptr[j]=bptr[j]/2;
}

}
*h1=r1;
*l1=r0;
delete []bptr;
return 0;
}

bool CheckRCrc(BYTE *a,int num,BYTE h,BYTE l)
{
BYTE m,n;
CRCCheck(a,num,&m,&n);
if(m==h && n==l)
return true;
else
return false;
}


您可能还会关注的相关技术资料:

中国电子网
www.EC66.com
QQ:34740080 EMAIL:iloveaoe@163.com
最佳浏览:1024*768
Copyright (C) 2001-2010 EC66.COM All Rights Reserved
Aoe/帝国 制作维护
粤ICP备18061901号