MW-PUG-UART
  • シリアル通信アプリ ユーザーズガイド
  • 使用上の注意
  • ピン割り当て
  • 使用方法
    • 動作確認をする
    • 出力書式
    • マイコンと接続する
  • 通信モード
    • ヘッダ付き透過モード(E)
      • 出力のカスタマイズ
    • 書式モード(A, B)
      • アスキー形式
      • バイナリー形式
        • バイナリー形式で使ってみる
      • 0xDB コマンド
      • サイレントモード
    • チャットモード(C)
      • どこでもチャット
    • 透過モード(D)
  • その他の機能
    • カスタムデフォルト
  • インタラクティブモード
GitBook提供
このページ内
  • 形式の定義
  • チェックサムの省略
PDFとしてエクスポート
  1. 通信モード
  2. 書式モード(A, B)

アスキー形式

Ascii Format

書式モードでコマンド表現されたバイト列をアスキー形式に変換します。

A: [送受信したいデータ]
 ↓↑
B: [コマンド表現 [A: ] ]
 ↓↑
C: 系列Bをアスキー形式またはバイナリ形式に変換
   [形式ヘッダ [B: [A: ] ] 終端]
 ↓↑
マイコンのUART入出力

例えば、コマンド表現で 00A01301FF123456 (子機から親機に ACK 付きで 123456 を送信する)をアスキー形式で表現すると、以下のようになります。先頭は : で B1 がチェックサム、終端は [CR][LF] となります。

:00A01301FF123456B1[CR][LF]

形式の定義

元データのバイト数

表現形式におけるバイト数

解説

ヘッダ

1

':' (0x3A) コロンを指定します。

データ部

N

2N

元データの各バイトをアスキー文字列2文字(A-F は大文字)で表現します。 例えば 0x1F は '1' (0x31) 'F' (0x46) と表現します。

チェックサム

2

データ部の各バイトの和を8ビット幅で計算し2の補数をとります。つまりデータ部の各バイトの総和+チェックサムバイトを8ビット幅で計算すると0になります。 チェックサムバイトをアスキー文字列2文字で表現します。 例えば 00A01301FF123456 では 0x00 + 0xA0 + ... + 0x56 = 0x4F となり、この二の補数は0xB1 です。(つまり 0x4F + 0xB1 = 0)

フッタ

2

[CR] (0x0D) [LF] (0x0A) を指定する。

チェックサムの省略

送信コマンドを入力する時に限ってチェックサムとフッタを省略し替わりに 'X' を指定できます。

:00A01301FF123456B1[CR][LF] ⇒ :00A01301FF123456X
前へ書式モード(A, B)次へバイナリー形式

最終更新 3 年前