Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

*nix ツール

Discovery ボードの新しいリビジョン

新しいリビジョンでは、Discovery ボードをコンピューターに接続すると、 /dev に新しい TTY デバイスが現れるはずです。

$ # Linux
$ dmesg | tail | grep -i tty
[13560.675310] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device

これが USB <-> シリアルデバイスです。Linux では、tty*(通常は ttyACM* または ttyUSB*)という名前になります。

デバイスが現れない場合は、おそらく古いリビジョンのボードを使っています。 古いリビジョン向けの手順が書かれている次のセクションを確認してください。 新しいリビジョンを使っている場合は、次のセクションを飛ばして 「minicom」セクションに進んでください。

Discovery ボードの古いリビジョン / 外付けシリアルモジュール

シリアルモジュールをコンピューターに接続し、OS がそれにどの名前を割り当てたか確認しましょう。

mac では、USB デバイスは /dev/cu.usbserial-* のような名前になります。これを dmesg で見つけることはできないので、代わりに ls -l /dev | grep cu.usb を使い、以下の コマンドを適宜読み替えてください!

$ dmesg | grep -i tty
(..)
[  +0.000155] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0

では、この ttyUSB0 とは何でしょうか? もちろんファイルです! *nix ではすべてがファイルです:

$ ls -l /dev/ttyUSB0
crw-rw-rw- 1 root uucp 188, 0 Oct 27 00:00 /dev/ttyUSB0

上記のパーミッションが crw-rw---- の場合、udev ルールが正しく設定されていません udev ルール を参照してください

このファイルに書き込むだけで、データを送信できます。

$ echo 'Hello, world!' > /dev/ttyUSB0

シリアルモジュールの TX(赤)LED が、一度だけすばやく点滅するはずです!

すべてのリビジョン: minicom

シリアルデバイスを echo で扱うのは、決して使いやすい方法ではありません。そこで、 キーボードを使ってシリアルデバイスとやり取りするために minicom というプログラムを使います。

minicom を使う前に設定しなければなりません。その方法はいくつかありますが、ここでは ホームディレクトリにある .minirc.dfl ファイルを使います。~/.minirc.dfl に次の内容の ファイルを作成してください。

$ cat ~/.minirc.dfl
pu baudrate 115200
pu bits 8
pu parity N
pu stopbits 1
pu rtscts No
pu xonxoff No

このファイルが改行で終わっていることを確認してください! そうでないと、minicom はこれを読み取れません。

このファイルの内容は(最後の 2 行を除けば)見ればわかるはずですが、それでも 1 行ずつ確認していきましょう。

  • pu baudrate 115200. ボーレートを 115200 bps に設定します。
  • pu bits 8. 1 フレームあたり 8 ビットです。
  • pu parity N. パリティチェックなし。
  • pu stopbits 1. ストップビットは 1 です。
  • pu rtscts No. ハードウェアフロー制御なし。
  • pu xonxoff No. ソフトウェアフロー制御なし。

これで準備ができたので、minicom を起動できます。

$ # 注: ここでは別のデバイスを使う必要があるかもしれません
$ minicom -D /dev/ttyACM0 -b 115200

これは、minicom/dev/ttyACM0 のシリアルデバイスを開き、その ボーレートを 115200 に設定するよう指示しています。テキストベースのユーザーインターフェイス (TUI) が表示されます。

これでキーボードを使ってデータを送信できます! 何か入力してみてください。なお、 TUI はあなたが入力した内容を エコーバックしません が、外付け モジュールを使用している場合は、キーを押すたびにモジュール上のどこかの LED が点滅するのが 見える かもしれません

minicom コマンド

minicom はキーボードショートカットでコマンドを提供します。Linux では、ショートカットは Ctrl+A で始まります。mac では、ショートカットは Meta キーで始まります。便利なコマンドをいくつか以下に示します。

  • Ctrl+A + Z. Minicom コマンド一覧
  • Ctrl+A + C. 画面をクリア
  • Ctrl+A + X. 終了してリセット
  • Ctrl+A + Q. リセットせずに終了

mac ユーザー: 上記のコマンドでは、Ctrl+AMeta に置き換えてください。