M
M
MWX Library
検索…
v0.1.9
The MWX Library
改版履歴
MWXライブラリについて
インストール・ビルド
サンプルアクト
API
定義
クラスオブジェクト
クラス
コールバック関数
ビヘイビア
関数
システム関数
DIO 汎用ディジタルIO
ユーティリティ関数
Printf utils
pack_bits()
collect_bits()
Byte array utils
pack_bytes()
expand_bytes()
CRC8, XOR, LRC
div100()
Scale utils
ボード (BRD)
センサー・デバイス (SNS)
ネットワーク (NWK)
設定 (STG) - インタラクティブモード
GitBook
上で動作しています
CRC8, XOR, LRC
チェックサムの計算で良く用いられる値です。
1
uint8_t
CRC8_u8Calc
(
uint8_t
*
pu8Data
,
uint8_t
size
,
uint8_t
init
=
0
)
2
uint8_t
CRC8_u8CalcU32
(
uint32_t
u32c
,
uint8_t
init
=
0
)
3
uint8_t
CRC8_u8CalcU16
(
uint16_t
u16c
,
uint8_t
init
=
0
)
4
uint8_t
XOR_u8Calc
(
uint8_t
*
pu8Data
,
uint8_t
size
)
5
uint8_t
LRC_u8Calc
(
uint8_t
*
pu8Data
,
uint8_t
size
)
Copied!
CRC8, XOR, LRC(
アスキー形式
で使用)の計算を行います。
CRC8_u8CalcU16(), CRC8_u8CalcU32()
は
u16c, u32c
をビッグエンディアン並びとして、CRC8を計算します。
CRC8は、計算式や初期値などによって種類がありますが、本ライブラリでは多項式を
X^8+X^5+X^4+1
(Polynomial Valueを0x31)をとしたものを使用しています。これはCRC8-CCITT や CRC8-Maximと呼ばれることがあります。
XORは各要素の排他的論理和 XOR をとったものです。
LRCは各要素の値の合計を計算し、下位8ビットの2の補数を取ります。結果、チェックサムを含め全要素を足し算すると0になります。
背景
無線パケットのデータ列、アスキー形式のチェックサム(LRC)、各種センサーのデータチェック用に利用されるため、ライブラリ手続きとして追加した。
前
expand_bytes()
次
div100()
最終更新
6mo ago
PDFに出力
リンクのコピー
目次
背景