週刊『My Robot』のBluetoothを繋げてみる計画(11)
プログラムの転送時には、普段の9600bpsより10倍速い、115200bpsの通信速度で、128バイトごとMR-C3024に転送されます。従って、Bluetoothの通信速度も変更しなければいけないので、単に転送ボタンをクリックしただけでは、転送できません。
roboBasicのプログラム転送ボタン
RZ1Basicのプログラム転送ボタン
BlueSMiRFモジュールは、転送速度を変更できるため、転送ボタンをクリックすれば自動的にBlueSMiRFの通信速度を変更するように、RZ1Basic v0.3.4くらいで対応させました。
RBT-001も同じ様に対応させたかったのですが、Bluetoothを介して通信速度を変更させられないため、前回、「プログラムの転送は無理」と書きました。
が、しかし、まったく不可能ではないとひらめきました
RZ1Basicに、MR-C3024に転送されたプログラムのデコンパイルの機能があります。試された方は判るかと思いますが、プログラムの転送時にかかる時間に対し、デコンパイルにかなり時間がかかったかと思います。これは、デコンパイルに時間がかかっているのではなく、MR-C3024からデータを読み出すには、9600bpsで1バイトごとしかデータを読込む方法しかないため、時間がかかっているのです。
RZ1Basicのデコンパイルボタン
で、同じ様に、データをMR-C3024に書込むコマンドがあったのを思い出しました
書込みのコマンドは、プログラムの転送以外に2種類あり、ともに9600bpsの通信速度なんですが、1バイトごとに転送するコマンドと、0番地からデータの長さを指定して転送するというコマンドです。
の方は、デコンパイルの機能と同じ様に、結構時間がかかると思いますが、もしかすると、の方がうまくいくなら、通信速度は十分の一なんですが、オーバーヘッドになる部分がなくなるので、少しはましになるんじゃないかと期待しています。
兎に角、またはの方法ならば、転送速度は遅いですが、RBT-001に限らず、ZigBeeなど、途中で通信速度を変更させることが困難な無線モジュールの場合でも、プログラムの転送が可能になるであろうということです。
この機能を、RZ1Basicの次のバージョンで、対応させられればと考えています。
週刊『My Robot』のBluetoothを繋げてみる計画(1) 、(10)、(11)、(12)
----------------
にほんブログ村
| 固定リンク
「無線(RBT-001)」カテゴリの記事
- 「RBT-001用シリアルレベルコンバータ」はまだ買わない方がいいかも(2)(2012.11.15)
- 「RBT-001用シリアルレベルコンバータ」はまだ買わない方がいいかも(2012.11.14)
- 手持ちのBTモジュールでロボゼロを動かしてみた(3) :回路編(2012.09.01)
- 手持ちのBTモジュールでロボゼロを動かしてみた(2):RBT-001編(2012.08.28)
- RBT-001を繋げてみる(20):bt_sample_XeroZak 0.1.0 公開(2011.08.30)
この記事へのコメントは終了しました。
コメント