エンジニアの備忘録

仕事や趣味でのトラブルシューティングの備忘録

Tera Termでバイナリ通信

通常、Tera Termはテキストデータ通信

マイコンWindows PCとの通信ではTera Termを使わせてもらっている. 通常Tera Termが入出力するデータはテキストデータとなっている.

具体的には、Tera Termを立ち上げて、キーボードのaを押すと、Windows PCからマイコンへは0x61が送信される.

参考:http://e-words.jp/p/r-ascii.html

Tera Termでバイナリ通信したい

時々、Tera Termでマイコンへバイナリデータを送りたい時や、マイコンから送信されたバイナリデータをTera Termで受信してPCモニターに表示させたい時がある.

例えば、モータを制御するマイコンがあって、"マイコンに0xAF, 0x03, 0x02と送るとモータが動き出し、正常にモータが動くとマイコンから0xAF, 0x22と応答がある"ような仕様の場合、Tera Termでテキストデータ通信していると困ってしまう.

バイナリデータ送信

マクロを使って任意のバイナリデータを送る.

まず、Tera Termの<設定>--><端末> --> <漢字-送信>をSJISに設定する.

"マイコンに0xAF, 0x03, 0x02と送る"場合、マクロは以下のように書く.

send $AF$03$02

受信したバイナリデータの表示

受信バイナリデータをそのまま表示するのにも設定が必要.

まず、Tera Termの<設定>--><端末> --> <漢字-受信>をSJISに設定する.

Tera Termのバイナリデータ表示はdebug modeで行うので、設定ファイル(TERATERM.INI)の編集してdebug modeを有効にしておく. TERATERM.INIの中でdebug modeの部分を以下のように書き換える.(自分の場合、462行目にあった.)

; Display all characters (debug mode)
Debug=on

書き換えたら、Tera Termを再起動するか、Tera Termの<設定>--><設定の読み込み>でTERATERM.INIを読み込む. 表示はSHIFT+ESCで切替できる. マイコンからバイナリデータを受信しているときに、何回かSHIFT+ESCを押していき、バイナリデータ表示されれば完了.

参考:http://shuzo-kino.hateblo.jp/entry/20111027/1319682490