なんとかなるさね

マイコンをネタにブログを始めてみました


RL78マイコン基板(RL78/G13)|KurumiWriter(改)で書き込んでmoreコマンドでシリアル通信する設定 

前のエントリでKurumiWriterの改造を行ってみたのですが、今になってコマンドプロンプトのmodeコマンドと
moreコマンドの組み合わせでRL78/G13と通信(シリアルモニタ)出来るようになっていることに気付きました。
恐らくKurumiWriterの改造でCOMポートのタイムアウト時間を操作したこと(正確にはタイムアウト時間を変更
してそのままにしたこと)が影響しているのだろうと思っていますが、ちょっと気付いたことは、COMポートを
操作するWindows communication APIではCOMポートの設定変更が残る(以前にクローズした時の設定が次に
オープンする時に引き継がれる)ようになっているのは、COMポートがリダイレクト出力先(またはリダイレクト
入力元)に使用されることを想定していた(と推測される)DOSの仕様が関係していそうな気がするということです。

mode COM14 baud=9600 parity=n data=8 stop=2 to=off dtr=off & more < \\.\COM14 > CON


mode COM14 dtr=on > nul & mode COM14 baud=9600 parity=n data=8 stop=2 to=off dtr=off & more < \\.\COM14 > CON


追記 : 補足

moreコマンドは出力をリダイレクトするとページ操作のキー入力を要求しなくなりました。(垂れ流しになる。)
modeコマンドの引数の'to'オプションですが'timeout'の意味のようです。他に以下のオプションがありました。



追記 : 雑感

ちょうど今、RulzでMac OS X/Linux/RaspbianでKurumi基板と通信する方法についてのスレッドが立っている
のですが、これらのルーツであるUnixはDOS以上に昔からあるOSですのでCOMポートについての考え方も同じ
ようになっている気がし始めていて、ひょっとしてCOMポート(むしろ'シリアル端末'や単に'端末'と呼ばれる)の
設定変更コマンドとcatコマンドで通信出来てしまったりしないだろうかという気がし始めているところです、、、

Very Simple Terminal for GR-KURUMI for Mac OS X
http://japan.renesasrulz.com/gr_user_forum_japanese/f/110/t/3628.aspx

→ 追記 : 出力レベルの制御は出来ないようでした、、、(プログラムを書かないと出来ないようです、、、)

trusty (1) stty.1.gz
http://manpages.ubuntu.com/manpages/trusty/man1/stty.1.html

DTR (Full text search results)
http://manpages.ubuntu.com/cgi-bin/search.py?q=DTR&cx=003883529982892832976%3A5zl6o8w6f0s&cof=FORID%3A9

追記 : メモ

その後、以前のエントリで試してみたWindowsでLinux環境をエミュレーションするMSYS2というツールでは、
改造したKurumiWriterを実行することなく、以下のようなことが出来てしまうことに気付きました。

mode.com COM14 baud=9600 parity=n data=8 stop=2 to=off dtr=off | iconv -f cp932 -t utf-8 ; cat /dev/ttyS13


mode.com COM14 dtr=on > /dev/null ; mode.com COM14 baud=9600 parity=n data=8 stop=2 to=off dtr=off | iconv -f cp932 -t utf-8 ; cat /dev/ttyS13


また、以前のエントリでPython+pySerial+miniterm.pyを使って日本語表示させたルネサスWebコンパイラで
Serial.print()の引数に書いた日本語も、Python+pySerial+miniterm.pyを使うことなく日本語表示出来ました。

mode.com COM14 baud=9600 parity=n data=8 stop=2 to=off dtr=off | iconv -f cp932 -t utf-8 ; cat /dev/ttyS13


mode.com COM14 dtr=on > /dev/null ; mode.com COM14 baud=9600 parity=n data=8 stop=2 to=off dtr=off | iconv -f cp932 -t utf-8 ; cat /dev/ttyS13


追記 : 雑感

ソースを見ずに単なる勘ですが、catコマンドは単にopen()関数を呼び出すだけで、オープンしたのがファイル
なのかCOMポートなのかは関知しない(対象を判別して個別処理をすることはしていない)ような気がします、、、

関連記事

2016/09/26   blog-entry-821   category: RL78 /* 16bit,8bit CISC */

go page top