<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: CRC 8 bits in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135518#M4055</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Attached you´ll find the examples that we used to develop the CRC. I hope this will be helpfull for you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Aug 2011 16:31:42 GMT</pubDate>
    <dc:creator>Eneko</dc:creator>
    <dc:date>2011-08-02T16:31:42Z</dc:date>
    <item>
      <title>CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135507#M4044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I work with HCS08AW micro and I need to develop a 8bit&amp;nbsp;cyclic redundancy control routine. I know that there are 2 wave to do that. One is making the software routine to check all the values and the second one is using a given table depending of the choosen polynomic.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would like to develop this second wave in c lenguaje but I don´t know where start.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can anybody help me? Has anybody developed a CRC 8 bit routine with this table system?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;let me know.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Eneko&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 May 2006 22:28:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135507#M4044</guid>
      <dc:creator>Eneko</dc:creator>
      <dc:date>2006-05-10T22:28:51Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135508#M4045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello Eneko,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Not&amp;nbsp;a table-based CRC and not a 8-bit CRC, but here is an example:&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="msg_source_code"&gt;&lt;SPAN class="text_smallest"&gt;Code:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;PRE&gt;/* calculates 16-bit CRC of given data *//* based on the polynomial x^16+x^15+x^2+1 */unsigned int calc_crc_core(unsigned int *start,unsigned int *end) { unsigned int crc=0,c; int i; while (start&amp;lt;=end) {  c=*start;  for(i=0;i&amp;lt;16;i++) {   if((crc ^ c) &amp;amp; 1) crc=(crc&amp;gt;&amp;gt;1)^0xA001;   else crc&amp;gt;&amp;gt;=1;   c&amp;gt;&amp;gt;=1;  }  start++; } return(crc);}&lt;/PRE&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;FONT size="1"&gt;(Alban: code format)&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by Alban on &lt;SPAN class="date_text"&gt;05-11-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;10:32 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 May 2006 03:03:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135508#M4045</guid>
      <dc:creator>UK_CF_FAE</dc:creator>
      <dc:date>2006-05-11T03:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135509#M4046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;Hello Eniko,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;It should be relatively easy to adapt the code supplied by UK_CF_FAE for other polynomials, including 8-bit.&amp;nbsp; Do you know which polynomial you wish to use for your application?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;The method shown will consume much less code space than the look-up table method, but will require longer execution time.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Regards,&lt;BR /&gt;Mac&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 May 2006 15:15:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135509#M4046</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-05-11T15:15:49Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135510#M4047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hi Mac:&lt;/P&gt;&lt;P&gt;I have choosen a standar one. &amp;nbsp;X^8 + X^5 + X^4 + 1&amp;nbsp;. Can you tell me how can I built my CRC code 8 bit ?&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;Eneko&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 May 2006 15:51:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135510#M4047</guid>
      <dc:creator>Eneko</dc:creator>
      <dc:date>2006-05-11T15:51:25Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135511#M4048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hello:&lt;/P&gt;&lt;P&gt;Starting with your code, please, let me know if my code would be o.k.&lt;/P&gt;&lt;P&gt;/* calculates 8-bit CRC of given data */&lt;BR /&gt;/* based on the polynomial &lt;STRONG&gt;&amp;nbsp;X^8 + X^5 + X^4 + 1&lt;/STRONG&gt; */&lt;BR /&gt;&lt;STRONG&gt;unsigned int&lt;/STRONG&gt; calc_crc_core(unsigned int *start,unsigned int *end) {&lt;BR /&gt;&amp;nbsp;&lt;STRONG&gt;unsigned int&lt;/STRONG&gt; crc=0,c;&lt;BR /&gt;&amp;nbsp;int i;&lt;BR /&gt;&amp;nbsp;while (start&amp;lt;=end) {&lt;BR /&gt;&amp;nbsp;c=*start;&lt;BR /&gt;&amp;nbsp;for(i=0;i&amp;lt;&lt;STRONG&gt;8&lt;/STRONG&gt;;i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;if((crc ^ c) &amp;amp; 1) crc=(crc&amp;gt;&amp;gt;1)^&lt;STRONG&gt;0x8c&lt;/STRONG&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;else crc&amp;gt;&amp;gt;=1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;c&amp;gt;&amp;gt;=1;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;start++;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;return(crc);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Eneko&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 May 2006 19:06:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135511#M4048</guid>
      <dc:creator>Eneko</dc:creator>
      <dc:date>2006-05-11T19:06:17Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135512#M4049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;Hello Eneko,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;I think you will need to&amp;nbsp;change all references to &amp;nbsp;&lt;FONT face="Courier New"&gt;unsigned int&lt;/FONT&gt;&amp;nbsp; type to read&amp;nbsp; &lt;FONT face="Courier New"&gt;unsigned char&lt;/FONT&gt; &lt;FONT face="Arial"&gt;(including the function parameters).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Rather than calculating the CRC from a data table, for some applications it may be useful to update the CRC value "on the fly", perhaps within a SCI interrupt routine.&amp;nbsp; The following code is intended to do this, but has not been tested.&amp;nbsp; Of course, the function does not initialise &lt;FONT face="Courier New"&gt;crc&lt;/FONT&gt; value.&amp;nbsp; It should be feasible to use the same function for both sending and receiving serial data packets.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;/* Update 8-bit CRC value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;using polynomial&amp;nbsp; X^8 + X^5 + X^4 + 1 */&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;#define POLYVAL 0x8C&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;void update_crc(unsigned char new, unsigned char *crc)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;unsigned char c, i;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;c = *crc;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 8; i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ((c ^ new) &amp;amp; 1) c = (c &amp;gt;&amp;gt; 1 ) ^ POLYVAL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else c &amp;gt;&amp;gt;= 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new &amp;gt;&amp;gt;= 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;*crc = c;&lt;BR /&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Regards,&lt;BR /&gt;Mac&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;05-14-2006&lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;12:58 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 13 May 2006 21:55:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135512#M4049</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-05-13T21:55:22Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135513#M4050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Mac,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I'm just curious why the Poly=x^8 + x^5 + x^4 +1 will become 0x8C?&lt;/DIV&gt;&lt;DIV&gt;Shouldn't it be 0x131/256 = 0x31?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Gary&lt;/DIV&gt;&lt;DIV&gt;p.s. Do you know if there's any other 8-bit Poly G that are&amp;nbsp;standard or popular?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2007 02:30:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135513#M4050</guid>
      <dc:creator>Tess</dc:creator>
      <dc:date>2007-02-12T02:30:13Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135514#M4051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello Gary,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I am not an expert on the associated mathematics, but here is my take on the process -&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;With the polynomial X^8 + X^5 + X^4 + 1 (or X^0), each bit of the data byte is tested, starting with the bit-0 position.&amp;nbsp; This is effectively the X^8 term of the polynomial.&amp;nbsp; Only if the modulo-two addition of this bit with the same bit position of the current CRC value is 1,&amp;nbsp;is the CRC value modified by the remainder of the polynomial (X^5 + X^4 +&amp;nbsp; X^0).&amp;nbsp; However, because we test the bit-0 position, we shift to the CRC value to the right prior to&amp;nbsp;each modulo-two addition (exclusive-OR).&amp;nbsp; Therefore, the bit order of the polynomial remainder byte needs to be reversed,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;i.e.&amp;nbsp;10001100 = 0x8C&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01234567&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I hope this expanation make sense.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2007-02-12&lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;06:02 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2007 16:00:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135514#M4051</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-02-12T16:00:56Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135515#M4052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello Mac:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;See enclosed a information that may be interesting for you.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Eneko&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2007 20:48:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135515#M4052</guid>
      <dc:creator>Eneko</dc:creator>
      <dc:date>2007-02-12T20:48:54Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135516#M4053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;Eneko,&lt;BR /&gt;&lt;BR /&gt;Theory:&lt;BR /&gt;Be sure to check out the EXCELLENT article on CRCs found everywhere on the internet:&lt;BR /&gt;A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS&lt;BR /&gt;by Ross Williams.&lt;BR /&gt;&lt;BR /&gt;Practice:&lt;BR /&gt;Here the table driven crc-8 we use. Not sure what the polynomial is.&lt;BR /&gt;First is the table:&lt;BR /&gt;&lt;BR /&gt;const int8 crc8_Table[ ] =&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp; 94, 188, 226,&amp;nbsp; 97,&amp;nbsp; 63, 221, 131, 194, 156, 126,&amp;nbsp; 32, 163, 253,&amp;nbsp; 31,&amp;nbsp; 65,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;157, 195,&amp;nbsp; 33, 127, 252, 162,&amp;nbsp; 64,&amp;nbsp; 30,&amp;nbsp; 95,&amp;nbsp;&amp;nbsp; 1, 227, 189,&amp;nbsp; 62,&amp;nbsp; 96, 130, 220,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35, 125, 159, 193,&amp;nbsp; 66,&amp;nbsp; 28, 254, 160, 225, 191,&amp;nbsp; 93,&amp;nbsp;&amp;nbsp; 3, 128, 222,&amp;nbsp; 60,&amp;nbsp; 98,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;190, 224,&amp;nbsp;&amp;nbsp; 2,&amp;nbsp; 92, 223, 129,&amp;nbsp; 99,&amp;nbsp; 61, 124,&amp;nbsp; 34, 192, 158,&amp;nbsp; 29,&amp;nbsp; 67, 161, 255,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70,&amp;nbsp; 24, 250, 164,&amp;nbsp; 39, 121, 155, 197, 132, 218,&amp;nbsp; 56, 102, 229, 187,&amp;nbsp; 89,&amp;nbsp;&amp;nbsp; 7,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;219, 133, 103,&amp;nbsp; 57, 186, 228,&amp;nbsp;&amp;nbsp; 6,&amp;nbsp; 88,&amp;nbsp; 25,&amp;nbsp; 71, 165, 251, 120,&amp;nbsp; 38, 196, 154,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;101,&amp;nbsp; 59, 217, 135,&amp;nbsp;&amp;nbsp; 4,&amp;nbsp; 90, 184, 230, 167, 249,&amp;nbsp; 27,&amp;nbsp; 69, 198, 152, 122,&amp;nbsp; 36,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;248, 166,&amp;nbsp; 68,&amp;nbsp; 26, 153, 199,&amp;nbsp; 37, 123,&amp;nbsp; 58, 100, 134, 216,&amp;nbsp; 91,&amp;nbsp;&amp;nbsp; 5, 231, 185,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;140, 210,&amp;nbsp; 48, 110, 237, 179,&amp;nbsp; 81,&amp;nbsp; 15,&amp;nbsp; 78,&amp;nbsp; 16, 242, 172,&amp;nbsp; 47, 113, 147, 205,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17,&amp;nbsp; 79, 173, 243, 112,&amp;nbsp; 46, 204, 146, 211, 141, 111,&amp;nbsp; 49, 178, 236,&amp;nbsp; 14,&amp;nbsp; 80,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;175, 241,&amp;nbsp; 19,&amp;nbsp; 77, 206, 144, 114,&amp;nbsp; 44, 109,&amp;nbsp; 51, 209, 143,&amp;nbsp; 12,&amp;nbsp; 82, 176, 238,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50, 108, 142, 208,&amp;nbsp; 83,&amp;nbsp; 13, 239, 177, 240, 174,&amp;nbsp; 76,&amp;nbsp; 18, 145, 207,&amp;nbsp; 45, 115,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;202, 148, 118,&amp;nbsp; 40, 171, 245,&amp;nbsp; 23,&amp;nbsp; 73,&amp;nbsp;&amp;nbsp; 8,&amp;nbsp; 86, 180, 234, 105,&amp;nbsp; 55, 213, 139,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;87,&amp;nbsp;&amp;nbsp; 9, 235, 181,&amp;nbsp; 54, 104, 138, 212, 149, 203,&amp;nbsp; 41, 119, 244, 170,&amp;nbsp; 72,&amp;nbsp; 22,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;233, 183,&amp;nbsp; 85,&amp;nbsp; 11, 136, 214,&amp;nbsp; 52, 106,&amp;nbsp; 43, 117, 151, 201,&amp;nbsp; 74,&amp;nbsp; 20, 246, 168,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;116,&amp;nbsp; 42, 200, 150,&amp;nbsp; 21,&amp;nbsp; 75, 169, 247, 182, 232,&amp;nbsp; 10,&amp;nbsp; 84, 215, 137, 107,&amp;nbsp; 53&lt;BR /&gt;} ;&lt;BR /&gt;&lt;BR /&gt;To use the table:&lt;BR /&gt;&lt;BR /&gt;crc = initial_Value ;&lt;BR /&gt;// The initial value is usually zero, but non-zero values are better.&lt;BR /&gt;// You can pick any byte you want, just be sure it's the same every time.&lt;BR /&gt;&lt;BR /&gt;for ( each byte_Value in the message or file )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;crc = crc8_Table[ crc ^ byte_Value ] ;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;// Some CRC implementations xor the final value with some other value.&lt;BR /&gt;crc = crc ^ xor_Value&lt;BR /&gt;&lt;BR /&gt;Good luck,&lt;BR /&gt;Noodle7&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 15 Apr 2007 15:26:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135516#M4053</guid>
      <dc:creator>noodle7</dc:creator>
      <dc:date>2007-04-15T15:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135517#M4054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Noodle7﻿,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am also looking for 8-bit CRC.&lt;/P&gt;&lt;P&gt;How to generate the look up table, that you have used in the code given.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sunil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Aug 2011 16:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135517#M4054</guid>
      <dc:creator>sunil_linus</dc:creator>
      <dc:date>2011-08-02T16:15:56Z</dc:date>
    </item>
    <item>
      <title>Re: CRC 8 bits</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135518#M4055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Attached you´ll find the examples that we used to develop the CRC. I hope this will be helpfull for you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Aug 2011 16:31:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CRC-8-bits/m-p/135518#M4055</guid>
      <dc:creator>Eneko</dc:creator>
      <dc:date>2011-08-02T16:31:42Z</dc:date>
    </item>
  </channel>
</rss>

