92 lines
16 KiB
XML
92 lines
16 KiB
XML
|
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||
|
|
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="_bsp___c_r_c_8cpp_source" xml:lang="zh">
|
||
|
|
<title>bsp_CRC.cpp</title>
|
||
|
|
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_CRC.cpp</primary></indexterm>
|
||
|
|
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___c_r_c_8cpp_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00002"/>00002 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00003"/>00003 <emphasis role="comment"> #  Copyright (c) 2022 Yuankang Liang(XerolySkinner)</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00004"/>00004 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00005"/>00005 <emphasis role="comment"> #  本软件按原样提供,无任何明示或暗示</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00006"/>00006 <emphasis role="comment"> #  在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00007"/>00007 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00008"/>00008 <emphasis role="comment"> #  使用的许可声明:</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00009"/>00009 <emphasis role="comment"> #  1.  不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00010"/>00010 <emphasis role="comment"> #  2.  免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00011"/>00011 <emphasis role="comment"> #      并且版权声明和许可声明同时出现.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00012"/>00012 <emphasis role="comment"> #  3.  你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00013"/>00013 <emphasis role="comment"> #  4.  如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00014"/>00014 <emphasis role="comment"> #  5.  本通知不得从任何来源删除或更改.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00015"/>00015 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00016"/>00016 <emphasis role="comment"> #  Yuankang Liang(XerolySkinner)</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00017"/>00017 <emphasis role="comment"> #      E-mail:zabbcccbbaz@163.com</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00018"/>00018 <emphasis role="comment"> #      QQ:2715099320</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00019"/>00019 <emphasis role="comment"> #      Mobile Phone:13005636215</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00020"/>00020 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00021"/>00021 <emphasis role="comment"> #  All rights reserved.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00022"/>00022 <emphasis role="comment"> */</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00023"/>00023
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00033"/>00033 <emphasis role="preprocessor">#include "<link linkend="_bsp___c_r_c_8h">bsp_CRC.h</link>"</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00035"/>00035 <emphasis role="comment">//--------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00036"/>00036 <emphasis role="comment">//  函数</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00038"/><link linkend="_bsp___c_r_c_8cpp_1a7a737378eb1c2e4d7d493764c6e7647f">00038</link> <emphasis role="comment"></emphasis><emphasis role="keyword">static</emphasis> <emphasis role="keyword">const</emphasis> <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <link linkend="_bsp___c_r_c_8cpp_1a7a737378eb1c2e4d7d493764c6e7647f">aucCRCHi</link>[] = {
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00039"/>00039     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00040"/>00040     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00041"/>00041     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00042"/>00042     0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00043"/>00043     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00044"/>00044     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00045"/>00045     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00046"/>00046     0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00047"/>00047     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00048"/>00048     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00049"/>00049     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00050"/>00050     0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00051"/>00051     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00052"/>00052     0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00053"/>00053     0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00054"/>00054     0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00055"/>00055     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00056"/>00056     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00057"/>00057     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00058"/>00058     0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00059"/>00059     0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00060"/>00060     0x00, 0xC1, 0x81, 0x40
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00061"/>00061 };
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00062"/>00062 <emphasis role="comment">//--------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00064"/><link linkend="_bsp___c_r_c_8cpp_1a1ec224bcb81fbefe6d11364dcd71e5a0">00064</link> <emphasis role="comment"></emphasis><emphasis role="keyword">static</emphasis> <emphasis role="keyword">const</emphasis> <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <link linkend="_bsp___c_r_c_8cpp_1a1ec224bcb81fbefe6d11364dcd71e5a0">aucCRCLo</link>[] = {
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00065"/>00065     0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00066"/>00066     0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00067"/>00067     0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00068"/>00068     0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00069"/>00069     0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00070"/>00070     0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00071"/>00071     0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00072"/>00072     0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00073"/>00073     0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00074"/>00074     0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00075"/>00075     0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00076"/>00076     0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00077"/>00077     0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00078"/>00078     0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00079"/>00079     0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00080"/>00080     0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00081"/>00081     0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00082"/>00082     0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00083"/>00083     0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00084"/>00084     0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00085"/>00085     0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00086"/>00086     0x41, 0x81, 0x80, 0x40
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00087"/>00087 };
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00089"/>00089 <emphasis role="comment">//--------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00090"/>00090 <emphasis role="comment">//  函数</emphasis>
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00091"/><link linkend="_bsp___c_r_c_8cpp_1abb1fda5ed561362d12fe987758986919">00091</link> <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link> <link linkend="_bsp___c_r_c_8cpp_1abb1fda5ed561362d12fe987758986919">CRC16_MODBUS</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> *pucFrame,<link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link> usLen){
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00092"/>00092     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> ucCRCHi = 0xFF;
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00093"/>00093     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> ucCRCLo = 0xFF;
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00094"/>00094     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link> iIndex;
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00095"/>00095     <emphasis role="keywordflow">while</emphasis> (usLen--){
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00096"/>00096         iIndex = ucCRCLo ^ *(pucFrame++);
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00097"/>00097         ucCRCLo = (<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>)(ucCRCHi ^ <link linkend="_bsp___c_r_c_8cpp_1a7a737378eb1c2e4d7d493764c6e7647f">aucCRCHi</link>[iIndex]);
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00098"/>00098         ucCRCHi = <link linkend="_bsp___c_r_c_8cpp_1a1ec224bcb81fbefe6d11364dcd71e5a0">aucCRCLo</link>[iIndex];}
|
||
|
|
<anchor xml:id="_bsp___c_r_c_8cpp_source_1l00099"/>00099     <emphasis role="keywordflow">return</emphasis> ( <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link> )( ucCRCHi << 8 | ucCRCLo );}
|
||
|
|
</programlisting></section>
|