IchigoJamのシリアル通信速度の設定(BPSコマンド)について
IchigoJamの公式サイトのドキュメントが説明不足(実際は私の理解不足です^^)、
シリアル通信の速度の設定でちょっとハマりました。
IchigoJamでシリアル通信の速度設定はBPSコマンドを利用します。
下記は公式サイトのリファレンスマニュアルからの引用(見やすいようにちょっと修正)です。
BPS 数 / ビーピーエス:
シリアル通信速度を変更する
(0で初期値の 115,200bps、-1:57600bps、-2:38400bps)
例: BPS 9600
IchigoJamにて38400bpsで通信したかったのですが、
BPS 38400
とやっても38400bpsで通信出来ません。データが化けます。なぜ?
実はIchigoJamの整数値の範囲が2バイト(short型)なので、
オーバーフローがおきてしまうんですね。オーバーフローが原因です。
次のようにやって、OKが出ているので 変数Aに34800が代入されていると思いきや、
表示してみるとマイナスの値です。
BPS 38400
とやっても38400bpsで通信出来ません。データが化けます。なぜ?
IchigoJam上

接続先 Tera Term
実はIchigoJamの整数値の範囲が2バイト(short型)なので、
オーバーフローがおきてしまうんですね。オーバーフローが原因です。
次のようにやって、OKが出ているので 変数Aに34800が代入されていると思いきや、
表示してみるとマイナスの値です。

なので、 BPS 38400 は実際には BPS -30736 として実行されたんですね。
ということで、
BPSコマンドのカッコ内の説明の BSP -2 を実行すると通信出来ました。
IchigoJam上

接続先 Tera Term

ただし、BPSの引数で-30736と指定してもエラーでないのはちょっと困りもの..
この場合、どういう通信速度になっているんでしょう..
(後でロジックアナライザーで調べてみます)
« Arduino IDEを使ったATtiny13用スケッチの開発について | トップページ | DigisparkでUSB経由のシリアル通信が出来ない »
「IchigoJam」カテゴリの記事
- Ichigojam Rが届きました(2021.02.05)
- β版 IchigoJam Rを予約注文しました(2021.01.23)
- IchigoJamのファームウェア 1.4.1が正式に公開されました(2019.12.10)
- 「ichigoツール」をGithubにて公開しました(2019.11.09)
- ichigojamのファームウェアを1.4b13にアップデートしました(2019.11.06)
« Arduino IDEを使ったATtiny13用スケッチの開発について | トップページ | DigisparkでUSB経由のシリアル通信が出来ない »

コメント