PmxArdinoLib 1.0.3
読み取り中…
検索中…
一致する文字列を見つけられません
PmxCrc16 クラス

PMXで使用するCRCの演算 [詳解]

#include <PmxCRC.h>

静的公開メンバ関数

static unsigned int getCrc16 (unsigned char data[], int length)
 PMXの送信/受信データの配列を取得し、CRCを計算するライブラリ
 
static void setCrc16 (unsigned char data[])
 PMXの送信データにCRCを付け加える関数
 
static bool checkCrc16 (unsigned char data[])
 受信したデータのCRCがあっているかどうかの確認する関数
 

詳解

PMXで使用するCRCの演算

  • 生成多項式:x^16+x^12+x^5+1 (CRC-16-CCITT)
  • ビットシフト方向:左送り
  • 初期値:0x0000
  • 出力:非反転 (出力XOR:0x0000)

関数詳解

◆ checkCrc16()

bool PmxCrc16::checkCrc16 ( unsigned char data[])
static

受信したデータのCRCがあっているかどうかの確認する関数

引数
[in]data受信したデータのデータ配列
戻り値
true CRCチェックOK
false CRCチェックNG
呼び出し関係図:

◆ getCrc16()

unsigned int PmxCrc16::getCrc16 ( unsigned char data[],
int length )
static

PMXの送信/受信データの配列を取得し、CRCを計算するライブラリ

引数
[in]dataCRCを計算するデータの配列
[in]lengthdataの長さ
戻り値
unsigned int CRCの計算データ
覚え書き
生成多項式:x^16+x^12+x^5+1 (CRC-16-CCITT)
ビットシフト方向:左送り
初期値:0x0000
出力:非反転 (出力XOR:0x0000)

◆ setCrc16()

void PmxCrc16::setCrc16 ( unsigned char data[])
static

PMXの送信データにCRCを付け加える関数

引数
[in/out]data 送信データ配列
覚え書き
配列の長さはコマンド内に含まれるため特に配列の長さを渡す必要はない
呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: