<?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: LPC824 CRC CALC in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673834#M26974</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello PAULO FERREIRA,&lt;/P&gt;&lt;P&gt;&amp;nbsp; That's very good to hear your problem is solved.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If your problem is solved, please help me to mark the correct answer to close this question.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Thank you and have a nice day!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kerry&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 21 Jul 2017 01:46:22 GMT</pubDate>
    <dc:creator>kerryzhou</dc:creator>
    <dc:date>2017-07-21T01:46:22Z</dc:date>
    <item>
      <title>LPC824 CRC CALC</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673831#M26971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using LPC824 CRC engine :&lt;/P&gt;&lt;P&gt;Polynomial = x16 + x12 + x5 + 1 &amp;nbsp; (ccitt)&lt;BR /&gt;Seed Value = 0xFFFF&lt;BR /&gt;Bit order reverse for data input:&amp;nbsp;Yes&lt;BR /&gt;1's complement for data input: NO&lt;BR /&gt;Bit order reverse for CRC sum:&amp;nbsp;Yes&lt;BR /&gt;1's complement for CRC sum: NO&lt;BR /&gt;CRC_MODE = 0x0000 0014&lt;BR /&gt;CRC_SEED = 0x0000 FFFF&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For string &amp;nbsp;"ABC" result crc &amp;nbsp; 0x10f0&lt;/P&gt;&lt;P&gt;Using another devices to calc with same parameters result &amp;nbsp;0x60d0 &amp;nbsp;(ex.&amp;nbsp;&lt;A class="link-titled" href="http://www.zorc.breitbandkatze.de/crc.html" title="http://www.zorc.breitbandkatze.de/crc.html"&gt;CRC calculation&lt;/A&gt;&amp;nbsp;)&lt;/P&gt;&lt;P&gt;Any ideas please ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Jul 2017 14:55:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673831#M26971</guid>
      <dc:creator>pauloferreira</dc:creator>
      <dc:date>2017-07-18T14:55:23Z</dc:date>
    </item>
    <item>
      <title>Re: LPC824 CRC CALC</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673832#M26972</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello PAULO FERREIRA,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I think your problem is caused by your LPC824 CRC configuration.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Because I also test your desired CRC for "ABC" =0x41,0x42,0x43, I can get the correct CRC data 0x60d.&lt;/P&gt;&lt;P&gt;&amp;nbsp; Now, post my test code for your reference.&lt;/P&gt;&lt;P&gt;1.&amp;nbsp; Your desired information&lt;/P&gt;&lt;P&gt;Polynomial = x16 + x12 + x5 + 1 &amp;nbsp; (ccitt)&lt;BR /&gt;Seed Value = 0xFFFF&lt;BR /&gt;Bit order reverse for data input:&amp;nbsp;Yes&lt;BR /&gt;1's complement for data input: NO&lt;BR /&gt;Bit order reverse for CRC sum:&amp;nbsp;Yes&lt;BR /&gt;1's complement for CRC sum: NO&lt;/P&gt;&lt;P&gt;According to the register description&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25717i263165EF9649D096/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;So, MODE should be:0x14 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static const uint8_t kerrytest[] = {0x41,0x42,0x43};&lt;/P&gt;&lt;P&gt;uint32_t kerry_result;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In main, call:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main(void)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Board Initialization */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SystemCoreClockUpdate();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Board_Init();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Chip Initialization */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_CRC_Init();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Enable SysTick Timer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SysTick_Config(SystemCoreClock / TICKRATE_HZ);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Loop tests with occasional forced error */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; kerry_test(kerrytest,3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void kerry_test(const uint8_t *data, uint32_t bytes)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LPC_CRC-&amp;gt;MODE = 0x14;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LPC_CRC-&amp;gt;SEED = CRC_SEED_CCITT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (bytes &amp;gt; 0) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_CRC_Write8(*data);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;data++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;bytes--;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;kerry_result = Chip_CRC_Sum();//Chip_CRC_CRC8(kerrytest, 3);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;After test, the debug result is:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_8.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25747iFFD3D6AC33F6692B/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_8.png" alt="pastedImage_8.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;You can find the kerry_result is 0x60d0 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Use CRC calculation tool&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.zorc.breitbandkatze.de/crc.html" title="http://www.zorc.breitbandkatze.de/crc.html"&gt;CRC calculation&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_9.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25803iBC794F43BC5BAFB8/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_9.png" alt="pastedImage_9.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In conclusion, you can find the result in&amp;nbsp; CRC calculation tool and the LPC824 code is the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;If you still have question, please kindly let me know!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jul 2017 07:43:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673832#M26972</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2017-07-20T07:43:53Z</dc:date>
    </item>
    <item>
      <title>Re: LPC824 CRC CALC</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673833#M26973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Kerry.&lt;/P&gt;&lt;P&gt;My mistake was definition of CRC_WR_DATA pointer like &amp;nbsp;uint32_t . &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was writing 32 bits at a time, and the correct was&amp;nbsp;8 bits to each sum.&lt;/P&gt;&lt;P&gt;Nice help. Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jul 2017 13:23:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673833#M26973</guid>
      <dc:creator>pauloferreira</dc:creator>
      <dc:date>2017-07-20T13:23:31Z</dc:date>
    </item>
    <item>
      <title>Re: LPC824 CRC CALC</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673834#M26974</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello PAULO FERREIRA,&lt;/P&gt;&lt;P&gt;&amp;nbsp; That's very good to hear your problem is solved.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If your problem is solved, please help me to mark the correct answer to close this question.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Thank you and have a nice day!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kerry&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jul 2017 01:46:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC824-CRC-CALC/m-p/673834#M26974</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2017-07-21T01:46:22Z</dc:date>
    </item>
  </channel>
</rss>

