Files
microchip-application-pec93…/Examples/crc/crc_calculate

crc_calculate

This example is used to calculate CRC 16/32.

  • Use CRC16

    // at main.c
    #define CONFIG_USE_CRC16            1
    
  • Use CRC32

    // at main.c
    #define CONFIG_USE_CRC16            0
    

Log

Use serial port with baudrate 115200 8bit, no parity check.
User can receive log infomation from PA00(Uart TXD) of DUT.

  • CRC16

    11:50:46
    This example to calculates CRC16.
    
    data:200001C8 | A1 98 EE 82 A5 4B 5D 90 - 11 30 AC F5 2F 54 EB 64
    data:200001D8 | 02 CC 74 C5 85 14 E8 FA - B3 66 8D CB 9E 16 6C 0A
    data:200001E8 | FB 03 7B 69 BC 8E 36 D3 - 32 F5 3A D5 D1 7D 05 20
    data:200001F8 | 29 8D 79 F9 65 18 06 B4 - 99 79 47 73 90 AD 16 B4
    data:20000208 | E0 70 C9 A7 7B 69 5B 46 - 12 E2 56 B1 62 2D 1A 52
    data:20000218 | 4C 3C 14 95 82 0E 16 E5 - 98 E3 87 0F 55 61 A5 80
    data:20000228 | 56 77 D1 30 B4 CD BB A0 - 33 FD BD B1 DD 7F 04 9A
    data:20000238 | 41 0E 03 CA FA 31 C7 E9 - 9D B1 41 0C 00 CD B6 14
    
    Expected CRC16: 0x00006679
    
      data-stream:
        crc= 0x00006679
        CRC verify OK~~
    
      byte by byte:
        crc= 0x00006679
        CRC verify OK~~
    
      two-part accumulation:
        crc= 0x00004546 (addr: 0x200001C8 ~ 0x20000207)
        crc= 0x00006679 (accumulate to 0x20000247)
        CRC verify OK~~
    
    CRC done~~
    
  • CRC32

    11:52:08
    This example to calculates CRC32.
    
    data:200001C8 | A6 98 9F 82 5A 48 5A AF - 6F BE B1 0A CB 54 63 64
    data:200001D8 | 92 C0 54 1A C5 54 6E 77 - D0 A1 72 37 9E 2D 6C CA
    data:200001E8 | FA 8E 65 AA 67 38 31 D1 - 43 DE C5 3D D7 2D 6C 80
    data:200001F8 | 6A CE C0 4B 80 50 96 A8 - BD 86 46 73 8D A2 F1 57
    data:20000208 | 57 80 D0 47 D9 A9 38 CB - E5 2A C6 A2 43 39 42 3F
    data:20000218 | 72 3F 8C AA 3B 8C F5 CF - 60 1F F1 3A D3 51 CE EA
    data:20000228 | 36 0E 17 58 56 9D 5B 0F - F8 51 92 23 7E 74 77 34
    data:20000238 | 9C BB 68 FE 93 15 89 E9 - E3 B1 59 0F B9 F5 54 E6
    
    Expected CRC32: 0xAF32ACDE
    
      data-stream:
        crc= 0xAF32ACDE
        CRC verify OK~~
    
      byte by byte:
        crc= 0xAF32ACDE
        CRC verify OK~~
    
      two-part accumulation:
        crc= 0x55325724 (addr: 0x200001C8 ~ 0x20000207)
        crc= 0xAF32ACDE (accumulate to 0x20000247)
        CRC verify OK~~
    
    CRC done~~