{"id":40,"date":"2018-03-10T13:49:11","date_gmt":"2018-03-10T05:49:11","guid":{"rendered":"http:\/\/www.max-shu.com\/blog\/?p=40"},"modified":"2018-03-10T14:35:28","modified_gmt":"2018-03-10T06:35:28","slug":"crc%e6%a0%a1%e9%aa%8c%e7%9a%84%e6%9f%a5%e8%a1%a8%e7%ae%97%e6%b3%95","status":"publish","type":"post","link":"http:\/\/www.max-shu.com\/blog\/?p=40","title":{"rendered":"CRC\u6821\u9a8c\u7684\u67e5\u8868\u7b97\u6cd5"},"content":{"rendered":"<p>\u8fc1\u79fb\u81ea<a href=\"http:\/\/adaishu.blog.163.com\/blog\/static\/175831286201132693227243\/\">http:\/\/adaishu.blog.163.com\/blog\/static\/175831286201132693227243\/<\/a><\/p>\n<p>\u67e5 \u8868 \u6cd5 \u5feb \u901f \u8ba1 \u7b97 CRC \u6821 \u9a8cCRC \u6821 \u9a8c \u4ee5 \u5176 \u53ef \u9760 \u6027 \u9ad8 \u5728 \u5b9e \u9645 \u4f7f \u7528 \u4e2d \u5e94 \u7528 \u5f88 \u5e7f \u6cdb\uff0c \u4e0b \u9762 \u4ecb \u7ecd \u4e00 \u79cd \u91c7 \u7528<br \/>\n\u67e5 \u8868 \u6cd5 \u5feb \u901f \u8ba1 \u7b97 CRC16 \u7684 \u65b9 \u6cd5\u3002 \u7a0b \u5e8f \u5982 \u4e0b\uff1a typedef unsigned char byte;<br \/>\ntypedef unsigned int\u00a0 word;<br \/>\ntypedef unsigned long dword;<br \/>\n\/\/&#8221;\u67e5 \u8868 \u6cd5 \u8ba1 \u7b97 CRC16 \u6821 \u9a8c \u5b50 \u7a0b \u5e8f<br \/>\ncode byte crch[256]=<br \/>\n{<br \/>\n0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04,<\/p>\n<p>0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8,<\/p>\n<p>0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,<\/p>\n<p>0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10,<\/p>\n<p>0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,<\/p>\n<p>0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38,<\/p>\n<p>0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C,<\/p>\n<p>0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,<\/p>\n<p>0xA0,0x60,0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4,<\/p>\n<p>0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68,<\/p>\n<p>0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,<\/p>\n<p>0xB4,0x74,0x75,0xB5,0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0,<\/p>\n<p>0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,<\/p>\n<p>0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98,<\/p>\n<p>0x88,0x48,0x49,0x89,0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C,<\/p>\n<p>0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,0x41,0x81,0x80,0x40,<br \/>\n};<br \/>\ncode byte crcl[256]=<br \/>\n{<br \/>\n0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,<\/p>\n<p>0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,<br \/>\n};<br \/>\n\/\/&#8221;\u67e5 \u8868 \u6cd5 \u8ba1 \u7b97 CRC \u6821 \u9a8c<br \/>\nvoid crc16(byte *buf,byte n,byte *h,byte *l)<br \/>\n{ byte i,t;<br \/>\nfor(i=*h=*l=0;i&lt;n;i++)<br \/>\n{ t=buf[i]^*l;<br \/>\n*l=crcl[t]^*h;<br \/>\n*h=crch[t];<br \/>\n}<br \/>\n}<\/p>\n<p>\u9996 \u5148 \u5b9a \u4e49 \u4e24 \u4e2a \u6570 \u7ec4 crch \u4e0e crcl\uff0c \u7136 \u540e \u8c03 \u7528 \u51fd \u6570 crc16 \u6765 \u8ba1 \u7b97\uff0cbuf \u662f \u8981 \u8ba1 \u7b97 \u7684 \u6570 \u636e \u9996 \u6307 \u9488\uff0cn \u662f<br \/>\n\u8981 \u8ba1 \u7b97 \u7684 \u6570 \u636e \u7684 \u6570 \u91cf\uff0c*h \u548c *l \u8fd4 \u56de \u9ad8 \u4f4d \u548c \u4f4e \u4f4d\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fc1\u79fb\u81eahttp:\/\/adaishu.blog.163.com\/blog\/static\/175831286201 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[55,54,56],"class_list":["post-40","post","type-post","status-publish","format-standard","hentry","category-6","tag-crc","tag-c","tag-56"],"views":2261,"_links":{"self":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=40"}],"version-history":[{"count":1,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/40\/revisions"}],"predecessor-version":[{"id":41,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/40\/revisions\/41"}],"wp:attachment":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}