📄 循环冗余校验算法crc16.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0041)http://vip.6to23.com/NowCan1/tech/crc.htm -->
<HTML><HEAD><TITLE>循环冗余校验算法</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY bgColor=#9b9b9b text=#000000><!-- 本网页特效由『呼吸ok了系列之主页秀3.2』生成!--><!-- 软件升级网址:〖ok了!〗http://www.okayle.com--><!-- 软件编程:任毅(breath)|插件制作:赵玉彬(wykb)-->
<DIV align=right>
<TABLE border=0 height=562 width="100%">
<TBODY>
<TR>
<TD height=33 width="100%">
<DIV id=point1
style="LEFT: 12px; POSITION: absolute; TOP: 0px; VISIBILITY: visible">
<TABLE border=0 cellPadding=0 cellSpacing=0>
<TBODY>
<TR>
<TD><A href="http://nowcan.yeah.net/" target=_blank><IMG border=0
height=30 src="循环冗余校验算法crc16.files/nowcan.gif"
width=88></A></TD></TR></TBODY></TABLE></DIV></TD></TR>
<TR>
<TD height=517 vAlign=top width="100%">循环冗余校验算法:<BR>1,预置一个16
位寄存器为0xFFFF(全1),称之为CRC寄存器。<BR>2,将数据帧中的第一个8位字节与CRC寄存器中的低字节进行异或运算,结果存会CRC寄存器。<BR>3,将CRC寄存器向右移一位,最高位填0,最低位移出并检测。<BR>4,如果最低位为0:重复第三步(下一次移位)。<BR>如果最低位为1:将CRC寄存器与一个预设的固定值(0xA001)进行异或运算。<BR>5,重复第三步和第四步直到8次移位。这样处理完了一个完整的八位。<BR>6,重复第2步到第5步来处理下一个八位,直到所有的字节处理结束。<BR>7,最终CRC寄存器的值就是CRC的值。<BR>
<P>老侃注:这个算法得出的应该是CRC16</P></TD></TR></TBODY></TABLE></DIV>
<SCRIPT language=JavaScript1.2>
var XX=20;
var xstep=1;
var delay_time=60;
var YY=10;
var ch=0;
var oh=0;
var xon=0;
var ns4=document.layers?1:0
var ie=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0
if(ie){
point1.style.top=YY;
}
else if (ns4){
document.point1.pageY=YY;
document.point1.visibility="hidden";
}
else if (ns6){
document.getElementById('point1').style.top=YY
}
function reloc1()
{
if(xon==0){XX=XX-xstep;}
else{XX=XX+xstep;}
if (ie){
ch=document.body.clientWidth;
oh=point1.offsetWidth;
}
else if (ns4){
ch=window.innerWidth;
oh=document.point1.clip.width;
}
else if (ns6){
ch=window.innerWidt
oh=document.getElementById("point1").offsetWidth
}
if(XX<0){xon=1;XX=0;}
if(XX>=(ch-oh)){xon=0;XX=(ch-oh);}
if(ie){
point1.style.left=XX+document.body.scrollLeft;
point1.style.top=YY;
}
else if (ns4){
document.point1.pageX=XX+window.pageXOffset;
document.point1.pageY=YY;
}
else if (ns6){
document.getElementById("point1").style.left=XX+window.pageXOffset
document.getElementById("point1").style.top=YY
}
}
function onad()
{
if(ns4)
document.point1.visibility="visible";
loopfunc();
}
function loopfunc()
{
reloc1();
setTimeout('loopfunc()',delay_time);
}
if (ie||ns4||ns6)
window.onload=onad
</SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -