エラーチェック(しゃちょ〜)

PCからモータコントローラへ指令を送るような場合、コマンドの中に「誤り検出符号」を埋め込みます。誤り検出符号は、送信データから生成され、これによって、万が一、通信が何らかの理由で、不完全な変なデータがコントローラ側に渡ってしまっても、受信データと誤り検出符号が一致せずに、コントローラ側でデータを破棄することができます。
その代表的なものがチェックサム(Check sum)という、送信データのバイト列を順に全て加算した総計の下位1バイトを、データに付加するものです。計算が非常に簡単で、受信した側でも容易に検証できます。
例えば、データ列が、「0A 15 C8 BA」だったりすると、
0x0A + 0x15 + 0xC8 + 0xBA = 0x1A1
となり、データ列の最後に、0x1A1の下位1バイトである0xA1を付加して送ります。
送信データは「0A 15 C8 BA A1」となります。
受信側は、受け取ったデータ列を順に足して行き、その値の下位1バイトが0xA1であれば正しい値として認識し、0xA1でなければ、どこかのデータが欠落した可能性があるということで破棄します。
通常、データ列が固定長(個数が一定)の場合は、受信側はその個数分だけデータを取得し、最後の1個を除くデータを足します。可変長(個数が不定)の場合は、通常、データ列の先頭(または2番目ぐらい)に、データ長が記述されているので、データの長さが分かります。

チェックサムより、より信頼性の高い誤り符号検出としてCRC(Cyclic Redundancy Checking)などがあります。
こちらは、やや計算が複雑ですが、似たようなものです。