« プログラマーじゃない自分向けの備忘録 No.001 "h" | トップページ | 【Visual C#】 シリアルサーボを動かす »

2013/04/16

プログラマーじゃない自分向けの備忘録 No.002 "下位1バイト"

□バイトってなんだっけ

  1か0の記号が8個並んだやつ・・・位の認識です。
  

  RCB-4のリファレンスマニュアルにこうあります。

    チェックサム: 1byte目のサイズからチェックサムの1byte手前までのデータを加算した下位1byte

 加算はわかる。下位1byteってどうやって出すんだろう・・・
 4年くらい前にやってるはずなのだが・・・
 ということで、昔のプログラムを読み直しつつ、新しくRCB-4用のプログラムを作ってみます。

□RCB-4HVとシリアル通信してサーボを動かすプログラム

 手始めにC#でこんなプログラムを作ります。

Dp001_2

 とりあえず『ホームポジション』のボタンを押したときの処理は以下

◇ソースコード

private void button1_Click(object sender, EventArgs e)
        {
            int sum = 0;//チェックサム用変数

            myData = new byte[7];
            myData[0] = 7;  //サイズ コマンド全体のバイト数=7
            myData[1] = 15; //コマンド 0Fh
            myData[2] = 0;  //ICS番号
            myData[3] = 40; //動作速度
            myData[4] = 76; //ポジション
            myData[5] = 29; //ポジション

            for (int i = 0; i < 6; i++)
            {
                sum = sum+myData[i];
            }

            sum = sum & 255;//下位1byteにする処理

            myData[6] = Convert.ToByte(sum);//チェックサム
            serialPort1.Write(myData, 0, 7);//配列の0番目から7個送信

            trackBar1.Value = 7500;//trackBarをホームポジションに戻す
        }  

 チェックサムについては、AND演算して下位1byteを出してます。

 これで忘れないだろう・・・   

|

« プログラマーじゃない自分向けの備忘録 No.001 "h" | トップページ | 【Visual C#】 シリアルサーボを動かす »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: プログラマーじゃない自分向けの備忘録 No.002 "下位1バイト":

« プログラマーじゃない自分向けの備忘録 No.001 "h" | トップページ | 【Visual C#】 シリアルサーボを動かす »