通信コマンド情報This is a featured page

シリアル通信方式

  通常         : 9600ボーレート、STOPビット1、パリティー なし
                 1バイトごとに送信データをそのままエコーバックする。(データ読み取りコマンドの時はその値を送信)

  プログラム転送時 : 115200ボーレート、STOPビット1、パリティーなし
                 プログラムデータ時エコーバックなし

動作説明


コマンドコード(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,データ






Posted Anonymously Latest page update: made by Anonymous , Oct 6 2006, 8:42 PM EDT (about this update About This Update Posted Anonymously 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バイト足した数にしておく必要があるのでしょうか?いつも聞いてばかりで申し訳ありません。よろしくお願いいたします。
1  out of 1 found this valuable. Do you?    
Keyword tags: None (edit keyword tags)

Anonymous  (Get credit for your thread)


Showing 1 of 1 threads for this page