Sign in or 

People just like you can add or edit the content on this site. If you want to try editing, but aren't ready to add to this site, try our demo area.
Read more about editing pages at Wetpaint Central.
)
動作説明 | コマンドコード(PC->マイコン) | レスポンス(マイコンー>PC) |
| SRAMデータ第一変数書き込み(0x140)ROBOBASICの一番最初の変数値書き換え | 0x00~0x7F ※(0x80以上の場合は0xFFコマンドを使用する) | なし |
| bootloaderモードにする | 0xAF, 0x62('b), 0x6F('o'), 0x6F(7o'), 0x74('t) | 0xAE(注意), 0x42('B'), 0x4F('O'), 0x4F('O'), 0x54('T') |
| 0~23のサーボが移動完了かを調べる | 0xB0, 0x00 | 0xB0, (0xFF:移動中、0x00:移動完了) |
| PTP SETOFF | 0xB1, 0x00 | 0xB1, 0x00 |
| PTP SETON | 0xB1, 0x01 | 0xB1, 0x00 |
| SPEED n | 0xB2, n | 0xB2, n |
| 内臓EEPROM読込 | 0xB3, アドレスLow, アドレスHi, 0x00 | 0xB3, アドレスLow, アドレスHi, データ |
| 内臓EEPROM書き込み | 0xB4, 0x4B, アドレスLow, アドレスHi, データ,同じデータ | 0xB4, 0x4B, アドレスLow, アドレスHi, データ、同じデータ |
| AI信号出力方式設定、 Hi,Low正? | 0xD0 | 0xD0 |
| AI信号出力方式設定、 Hi,Low逆? | 0xD1 | 0xD1 |
| サーボの現在値読込 | 0xD2, サーボNo, 0x00 | 0xD2, サーボNo, 角度(10~190) |
| G8A現在値読込 | 0xD3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD3,サーボ0角度,サーボ1角度~サーボ7角度 |
| G8B現在値読込 | 0xD4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD4,サーボ8角度,サーボ9角度~サーボ15角度 |
| G8C現在値読込 | 0xD5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD5,サーボ16角度,サーボ17角度~サーボ23角度 |
| G8D現在値読込 | 0xD6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD6, サーボ24角度,サーボ25角度~サーボ31角度 |
| G6A現在値読込 | 0xD7,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD7,サーボ0角度,サーボ1角度~サーボ5角度 |
| G6B現在値読込 | 0xD8,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD8,サーボ6角度,サーボ7角度~サーボ11角度 |
| G6C現在値読込 | 0xD9,0x00,0x00,0x00,0x00,0x00,0x00 | 0xD9,サーボ12角度,サーボ13角度~サーボ17角度 |
| G6D現在値読込 | 0xDA,0x00,0x00,0x00,0x00,0x00,0x00 | 0xDA,サーボ18角度,サーボ19角度~サーボ23角度 |
| G6E現在値読込 | 0xDB,0x00,0x00,0x00,0x00,0x00,0x00 | 0xDB,サーボ24角度,サーボ25角度~サーボ29角度 |
| PORTIN ポートの1ビット入力 | 0xE0,ポートNo、0x00 | 0xE0,ポートNo、ビット値(0or1) |
| BYTEIN ポートのバイト値入力 | 0xE1,ポートNo、0x00 | 0xE1,ポートNo、バイト値 |
| ADIN ADポート読込 | 0xE2,ポートNo、0x00 | 0xE2,ポートNo、AD値 |
| PORTOUT ポートに1bit出力 | 0xE3,ポートNo、ビット値 | 0xE3,ポートNo、ビット値 |
| BYTEOUT ポートに1Byte出力 | 0xE4,ポートNo、バイト値 | 0xE4,ポートNo、バイト値 |
| PWM | 0xE5,PWMポートNo,PWM値 | 0xE5,PWMポートNo,PWM値 |
| SERVO サーボを動かす | 0xE6,サーボNo、角度(10~190) | 0xE6,サーボNo、角度 |
| SERVO_ON | 0xE7,サーボNo | 0xE7,サーボNo |
| SERVO_OFF | 0xE8,サーボNo | 0xE8,サーボNo |
| SPEED | 0xE9,スピード値(0~15) | 0xE9,スピード値(0~15) |
| AIモータMOVE | 0xEA,モータNo、角度 | 0xEA,モータNo、角度 |
| MOVE命令 | 0xEB,開始サーボNo、個数、角度1~角度n | 0xEB,開始サーボNo、個数、角度1~角度n |
| 外付けEEPROM書き込み(プログラム転送) (サイズの送受信から速度を115.2Kに変更、データとチェックサムのレスポンスは無し。データは必ず128バイト単位で送る) | 0xEC,トータルサイズLow、トータルサイズHi、0x3F,データ(128Byte),チェックサム、…、0x3F,データ(128Byte),チェックサム | 0xEC,トータルサイズLow、トータルサイズHi、0x21,…、0x21,(正常終了:$45,エラー:$58) |
| コントローラ情報読込 | 0xF0,0x00,0x00,0x00,0x00,0x00,0x00 | 0xF0, ID, Ver, Rev, メモリ容量, バリアブル, スタック |
| 外付けEEPROMの0番地からデータを書き込み | 0xF1,0x0E,データ数Lo,データ数Hi、データ~ | 0xF1,0x0E,データ数Lo,データ数Hi、データ~ |
| 外付けEEPROM読込 | 0xF2,アドレスLo、アドレスHi、0x00 | 0xF2,アドレスLo、アドレスHi、データ |
| BRAKE | 0xF3 | 0xF3 |
| 外付けEEPROMに1バイト書き込む | 0xF4,0x0B,アドレスLo、アドレスHi、データ、同じデータ | 0xF4,0x0B,アドレスLo、アドレスHi、データ、同じデータ |
| AIモータ設定読込 | 0xF5 | |
| AIモータ設定書き込み | 0xF6 | |
| SRAMデータメモリ読込 | 0xF7,アドレスLo、アドレスHi、0x00 | 0xF7,アドレスLo、アドレスHi、データ |
| SRAMデータメモリ書き込み | 0xF8,アドレスLo、アドレスHi、データ値 | 0xF8,アドレスLo、アドレスHi、データ値 |
| STOP | 0xFA | 0xFA |
| RUN | 0xFB | 0xFB |
| RESET | 0xFC | 0xFC |
| (nop) | 0xFD | 0xFD |
| (nop) | 0xFE | 0xFE |
| SRAM第一変数($0140)にデータを書く | 0xFF,データ | 0xFF,データ |
|
Latest page update: made by
Anonymous
, Oct 6 2006, 8:42 PM EDT
(about this update
About This Update
Edited anonymously
6 words added 4 words deleted view changes - complete history) |
|
More Info: links to this page
|
| Started By | Thread Subject | Replies | Last Post | ||
|---|---|---|---|---|---|
| micono | プログラム転送とか | 0 | Jun 14 2007, 10:42 AM EDT by micono | ||
|
Thread started: Jun 14 2007, 10:42 AM EDT
Watch
今週RoboZakのマイコンボードは届いたのですが、ケーブルも電池も充電器もまだまだ届くのは先のようなので、実際にテストできなくて、Robonovaのオプションパーツのケーブルなどを買ってしまおうかと悩んでます。この場合電池は無くても動かせるのかな?
で、本題。 ハードウエアも環境が整っていない状態で、かつシリアルポートのプログラミングをしたこともないので、わからないことだらけなんですが、http://web.ukonline.co.uk/r.ibbotson/files.htm にある、MR-C3024 Serial interface specificationのファイルを見ると、例えば、PORTINの場合、 command(&hE0)を送信、エコーをみて、port numberを送信、エコーをみて。。。と一つずつやっていますが、 3バイト一気に送ってはダメなものなんでしょうか? あと、外付けEEPROM書き込み(プログラム転送)では、データは必ず128バイト単位で送ると書いてありますが、128で割り切れない場合の、最後例えば28バイトだった場合、残り100バイトは0で埋めて送ればいいのでしょうか?その場合のトータルサイズは、100バイト足した数にしておく必要があるのでしょうか?いつも聞いてばかりで申し訳ありません。よろしくお願いいたします。 |
|||||