C2A_Core
crc.h ファイル

CRC用のライブラリ [詳解]

#include <stddef.h>
#include <stdint.h>
crc.h の依存先関係図:
被依存関係図:

[ソースコード]

関数

uint16_t CRC_calc_crc_16_ibm_right (uint16_t crc, const uint8_t *c, size_t n, int rev_flag)
 CRC-16-IBM [詳解]
 
uint16_t CRC_calc_crc_16_ccitt_left (uint16_t crc, const uint8_t *c, size_t n, int rev_flag)
 CRC-16-CCITT [詳解]
 
uint16_t CRC_calc_crc_16_ccitt_right (uint16_t crc, const uint8_t *c, size_t n, int rev_flag)
 CRC-16-CCITT [詳解]
 
void CRC_make_crc_8_table (uint8_t *table, uint8_t crc_poly, uint8_t shift)
 crc用のテーブル作成 [詳解]
 
void CRC_make_crc_16_table (uint16_t *table, uint16_t crc_poly, uint8_t shift)
 
void CRC_make_crc_32_table (uint32_t *table, uint32_t crc_poly, uint8_t shift)
 

詳解

CRC用のライブラリ

crc.h に定義があります。

関数詳解

◆ CRC_calc_crc_16_ccitt_left()

uint16_t CRC_calc_crc_16_ccitt_left ( uint16_t  crc,
const uint8_t *  c,
size_t  n,
int  rev_flag 
)

CRC-16-CCITT

   生成多項式: x^16 + x^12 + x^5 + 1
   ビット送り: 左送り, POLLY: 0x1021
   読み出し: 1byte (8 bit)
引数
[in]crcCRC初期値
[in]cCRCを計算するbyte列
[in]n列の長さ
[in]rev_flag反転するかどうか
戻り値
uint16_t: 計算結果

crc.c126 行目に定義があります。

被呼び出し関係図:

◆ CRC_calc_crc_16_ccitt_right()

uint16_t CRC_calc_crc_16_ccitt_right ( uint16_t  crc,
const uint8_t *  c,
size_t  n,
int  rev_flag 
)

CRC-16-CCITT

   生成多項式: x^16 + x^12 + x^5 + 1
   ビット送り: 右送り, POLLY: 0x8408
   読み出し: 1byte (8 bit)
引数
[in]crcCRC初期値
[in]cCRCを計算するbyte列
[in]n列の長さ
[in]rev_flag反転するかどうか
戻り値
uint16_t: 計算結果

crc.c139 行目に定義があります。

◆ CRC_calc_crc_16_ibm_right()

uint16_t CRC_calc_crc_16_ibm_right ( uint16_t  crc,
const uint8_t *  c,
size_t  n,
int  rev_flag 
)

CRC-16-IBM

   生成多項式: x^16 + x^15 + x^2 + 1
   ビット送り: 右送り, POLLY: 0xa001
   読み出し: 1byte (8 bit)
引数
[in]crcCRC初期値
[in]cCRCを計算するbyte列
[in]n列の長さ
[in]rev_flag反転するかどうか
戻り値
uint16_t: 計算結果

crc.c113 行目に定義があります。

◆ CRC_make_crc_16_table()

void CRC_make_crc_16_table ( uint16_t *  table,
uint16_t  crc_poly,
uint8_t  shift 
)

crc.c176 行目に定義があります。

◆ CRC_make_crc_32_table()

void CRC_make_crc_32_table ( uint32_t *  table,
uint32_t  crc_poly,
uint8_t  shift 
)

crc.c201 行目に定義があります。

◆ CRC_make_crc_8_table()

void CRC_make_crc_8_table ( uint8_t *  table,
uint8_t  crc_poly,
uint8_t  shift 
)

crc用のテーブル作成

   読み出し: 1byte (8bit) (sizeof(table) = 256)
引数
[out]tableテーブル
[in]crc_poly生成多項式
[in]shift右:1, 左:0
覚え書き
使わないとは思いますが...

crc.c152 行目に定義があります。