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

📄 crc16程序--blove的笔记.htm

📁 CRC的使用
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://ic921.21ic.org/user1/538/archives/2005/6800.html -->
<HTML><HEAD><TITLE>CRC16程序--blove的笔记</TITLE>
<META http-equiv=Content-Language content=zh-CN>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR>
<META content=blove, name=author>
<META content=CRC16程序 name=keyword>
<META content="好代码!&nbsp; &nbsp;" name=description><LINK title=RSS 
href="/user1/538/rss2.xml" type=application/rss+xml rel=alternate><LINK 
href="CRC16程序--blove的笔记.files/OblogUserDefault4.css" type=text/css 
rel=stylesheet>
<SCRIPT src="CRC16程序--blove的笔记.files/main.js" type=text/javascript></SCRIPT>
</HEAD>
<BODY>
<SCRIPT src="CRC16程序--blove的笔记.files/ad_usertopjs.htm"></SCRIPT>

<STYLE type=text/css>BODY {
	FONT-SIZE: 12px; BACKGROUND: url(/skin/2/bg.png) #879880 repeat-x left top; MARGIN: 0px; COLOR: #000; FONT-FAMILY: Arial; TEXT-ALIGN: center
}
A:link {
	COLOR: #366; BORDER-BOTTOM: #999 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: none
}
A:visited {
	COLOR: #366; BORDER-BOTTOM: #999 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: none
}
A:active {
	COLOR: #f90; BACKGROUND-COLOR: transparent
}
A:hover {
	COLOR: #690; BORDER-BOTTOM: #f90 1px dotted; BACKGROUND-COLOR: transparent
}
A.noborder {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
}
A.bold {
	FONT-WEIGHT: bold
}
IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
}
IMG.header {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px
}
.invisible {
	DISPLAY: none
}
.heading {
	BORDER-TOP: #333 1px dotted; MARGIN-TOP: 15px
}
.feint {
	FONT-WEIGHT: normal; COLOR: #888; BACKGROUND-COLOR: transparent
}
.posted {
	COLOR: #888; BACKGROUND-COLOR: #fff
}
.sep {
	MARGIN: -15px 15px 15px; BORDER-BOTTOM: #bbb 1px dotted
}
.audiolink {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: left top; PADDING-LEFT: 24px; BACKGROUND-IMAGE: url(http://www.antipixel.com/blog/archives/images/speaker_02.png); PADDING-BOTTOM: 2px; PADDING-TOP: 0px; BACKGROUND-REPEAT: no-repeat
}
INPUT {
	BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #666 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: bottom; BORDER-LEFT: #666 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #999 1px solid; BACKGROUND-COLOR: #fff
}
SELECT {
	BORDER-RIGHT: #666 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; BORDER-BOTTOM: #666 1px solid; BACKGROUND-COLOR: #fff
}
.defaultButton {
	BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #999 1px solid; PADDING-LEFT: 4px; BORDER-LEFT: #999 1px solid; COLOR: #333; BORDER-BOTTOM: #666 1px solid; FONT-FAMILY: ’Lucida Gra爀浯猠獹歳iā????oЁnde’, ’Lucida Sans Unicode’, Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fff
}
.regButton {
	BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #999 1px solid; PADDING-LEFT: 0px; BORDER-LEFT: #999 1px solid; COLOR: #333; BORDER-BOTTOM: #666 1px solid; FONT-FAMILY: ’Lucida Grande’, ’Lucida Sans Unicode’, Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fff
}
.oblog {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 3px solid; FONT-SIZE: 11px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.oblog_t_1 {
	BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-TOP-COLOR: #000000; BORDER-BOTTOM: #000000 1px solid
}
.oblog_t_2 {
	BORDER-RIGHT: #000000 1px dashed
}
.oblog_t_3 {
	BORDER-TOP: #000000 1px; FONT-WEIGHT: bold; FONT-SIZE: 12px; BORDER-BOTTOM: #000000 1px dashed
}
.oblog_t_4 {
	BORDER-BOTTOM: #dddddd 1px dashed
}
.oblog_text {
	FONT-SIZE: 12px
}
TD {
	FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Verdana,tahoma, Arial, Helvetica, sans-serif
}
</STYLE>

<TABLE height=27 cellSpacing=0 cellPadding=0 width=765 border=0>
  <TBODY>
  <TR>
    <TD>&nbsp;</TD></TR></TBODY></TABLE>
<TABLE height=63 cellSpacing=0 cellPadding=0 width=765 bgColor=#dddddd 
  border=0><TBODY>
  <TR>
    <TD class=oblog><STRONG> <SPAN class=feint><FONT color=#ff0000 
      size=5> 21IC 电子工程师,“我”的笔记</FONT> </SPAN></STRONG></TD></TR></TBODY></TABLE>
<DIV align=center>
<CENTER>
<TABLE borderColor=#000000 cellSpacing=0 borderColorDark=#000000 width=765 
borderColorLight=#ffffff border=1>
  <TBODY>
  <TR>
    <TD vAlign=top width=186 bgColor=#c0c0c0>
      <DIV id=calendar>21IC页面载入....</DIV><BR><STRONG>公告</STRONG> 
      <TABLE cellSpacing=1 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=placard>21IC页面载入....</DIV></TD></TR></TBODY></TABLE><B>最近日志</B> 
      <TABLE cellSpacing=1 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=subject>21IC页面载入....</DIV></TD></TR></TBODY></TABLE><B>最近笔记</B> 
      <TABLE cellSpacing=1 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=newblog>21IC页面载入....</DIV></TD></TR></TBODY></TABLE><B>最新评论</B> 
      <TABLE cellSpacing=1 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=comment>21IC页面载入....</DIV></TD></TR></TBODY></TABLE><B>留言板</B> 
      <TABLE cellSpacing=1 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=newmessage>21IC页面载入....</DIV></TD></TR></TBODY></TABLE><B>我的链接</B> 

      <TABLE cellSpacing=1 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=links>21IC页面载入....</DIV>
            <SCRIPT src="CRC16程序--blove的笔记.files/ad_userlinksjs.htm"></SCRIPT>
          </TD></TR></TBODY></TABLE><B>Blog信息</B> 
      <TABLE borderColor=#ffffff width="100%" bgColor=#ffffcc border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <DIV id=info>21IC页面载入....</DIV></TD></TR></TBODY></TABLE>
      <P>&nbsp;<U><FONT color=#800080><A 
      href="http://ic921.21ic.org/User_index.asp" 
      target=_blank>站长个人入口</A></FONT></U></P></TD>
    <TD vAlign=top width=569>
      <TABLE cellPadding=5 width="100%" bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD width="100%">
            <STYLE type=text/css>.style1 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #666666
}
</STYLE>
            <BR>
            <TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" 
            cellSpacing=0 cellPadding=0 width="90%" border=0>
              <TBODY>
              <TR>
                <TD class=oblog_t_4><SPAN class=style1><FONT 
                  size=3>CRC16程序</FONT></SPAN></TD></TR>
              <TR>
                <TD>
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD>
                        <DIV align=right><SPAN class=oblog_text>blove 发表于 
                        2005-12-6 12:13:00</SPAN></DIV></TD></TR></TBODY></TABLE><SPAN 
                  class=oblog_text><BR>
                  <STYLE type=text/css>SPAN {
	FONT-SIZE: 10pt; BACKGROUND: #ffffff; COLOR: #000000; FONT-FAMILY: 'Verdana'
}
</STYLE>
                  <SPAN>//CRC16校验在通讯中应用广泛,这里不对其理论进行讨论,只对常见的3种<BR>//实现方法进行测试。方法1选用了一种常见的查表方法,类似的还有512字<BR>//节、256字等查找表的,至于查找表的生成,这里也略过。<BR>// 
                  ---------------- POPULAR POLYNOMIALS ----------------<BR>// 
                  &nbsp;CCITT: &nbsp;&nbsp; &nbsp; x^16 + x^12 + x^5 + x^0 
                  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
                  (0x1021)<BR>// &nbsp;CRC-16: &nbsp;&nbsp; &nbsp;x^16 + x^15 + 
                  x^2 + x^0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
                  &nbsp; (0x8005)<BR>#define &nbsp; &nbsp; &nbsp; &nbsp; 
                  CRC_16_POLYNOMIALS &nbsp;&nbsp; &nbsp; 0x8005<BR><BR><BR>// 
                  --------------------------------------------------------------<BR>// 
                  &nbsp;&nbsp; &nbsp; CRC16计算方法1:使用2个256长度的校验表<BR>// 
                  --------------------------------------------------------------<BR>const 
                  BYTE chCRCHTalbe[] 
                  =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                  // CRC 高位字节值表<BR>{<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 
                  0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 
                  0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,<BR>0x00, 0xC1, 
                  0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 
                  0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 
                  0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 
                  0x41, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 
                  0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,<BR>0x00, 0xC1, 0x81, 
                  0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,<BR>0x01, 
                  0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 
                  0x40,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 
                  0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 
                  0x41, 0x00, 0xC1, 0x81, 0x40,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 
                  0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 
                  0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 
                  0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 
                  0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 
                  0xC0, 0x80, 0x41,<BR>0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 
                  0x40, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x00, 
                  0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 
                  0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 
                  0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 
                  0x40,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 
                  0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 
                  0x40, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 0x40, 0x01, 
                  0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,<BR>0x00, 0xC1, 0x81, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -