2: 2011-06-28 (火) 17:23:01 yoshida | 3: 2011-07-01 (金) 17:37:36 yoshida | ||
---|---|---|---|
Line 24: | Line 24: | ||
**FREEDOMライブラリを使えるようにする [#r44fc0ef] | **FREEDOMライブラリを使えるようにする [#r44fc0ef] | ||
#ref(gcc_edit_1.png,100%) | #ref(gcc_edit_1.png,100%) | ||
- | 既に説明した通り、FREEDOMライブラリには便利な関数が用意されています。この関数を使用できるようにするために先ず最初に | + | 既に説明した通り、FREEDOMライブラリには便利な関数が用意されています。この関数を使用できるようにするために先ず最初にfd.hをインクルードします。 |
- | #include <fd.h> | + | |
- | と入力して下さい。 | + | |
---- | ---- | ||
#ref(gcc_edit_2.png,100%) | #ref(gcc_edit_2.png,100%) | ||
Line 32: | Line 30: | ||
#include <fd.h>と入力した行の上でCtrlボタンを押しながらダブルクリックするとfd.hを開くことができます。~ | #include <fd.h>と入力した行の上でCtrlボタンを押しながらダブルクリックするとfd.hを開くことができます。~ | ||
まだfd.hの中身を理解する必要はありません。fd.hのウィンドウ右上の×ボタン(GCC Developer Liteウィンドウの×ボタンではありません)で閉じます。 | まだfd.hの中身を理解する必要はありません。fd.hのウィンドウ右上の×ボタン(GCC Developer Liteウィンドウの×ボタンではありません)で閉じます。 | ||
+ | |||
+ | **メイン関数 [#dcba31ee] | ||
+ | #ref(gcc_edit_3.png,100%) | ||
+ | メイン関数はその名の通り主となる関数です。プログラムはメイン関数内の上から順に実行して行きます。見やすくするために一行開けてメイン関数の中身を書いて行きます。 | ||
+ | |||
+ | **変数宣言 [#m4138a34] | ||
+ | #ref(gcc_edit_4.png,100%) | ||
+ | これから赤外線反射センサの値を読み込むプログラムを書くのですが、読み込んだ値を保存しておく場所が必要になります。保存する場所として[[変数>FDIIICHAPTER1.4#z62e3ad6]]を使います。~ | ||
+ | |||
+ | メイン関数のvoid main (void)の次にある空の行にカーソルを移動します。メイン関数内であることがわかりやすいようにTabキーを使ってインデントでスペースを空けてから入力して下さい(プログラムの書き方については[[Chapter1.4のプログラムの書き方>FDIIICHAPTER1.4#s49216c9]]を参照して下さい)。 | ||
+ | |||
+ | ReadDataは変数の名前です。~ | ||
+ | uint8_tは変数の[[型>FDIIICHAPTER1.4#p7400a94]]です。赤外線反射センサ値などのFREEDOMライブラリで扱う値が、符号の無い8ビット(1バイト)単位であることを意味しています。unsigned charと同義です。 | ||
+ | |||
+ | **FDIII-HCの初期化 [#l316e5db] | ||
+ | #ref(gcc_edit_5.png,100%) | ||
+ | FDIII-HCを使用するためにはメイン関数の初めに初期化をしなければなりません。 | ||
+ | |||
+ | ***[[fd_SetBeepCondition>FDIIILIB#ke8d1df6]] [#v29dcde7] | ||
+ | ビープ音が鳴るための条件を設定します。ビープ音を鳴らす必要がなければ省略しても問題ありません。 | ||
+ | |||
+ | ***[[fd_SetUVThreshold>FDIIILIB#ce52eef3]] [#w641dc92] | ||
+ | FDIII-HCの電源電圧低下を検出する閾値を設定します。閾値を設定していても、 | ||
+ | fd_SetBeepCondition関数を記述していなければビープ音は鳴りません。 | ||
+ | |||
+ | ***[[DX_ChangeBaudrate>FDIIILIB#n66c725c]] [#m3a51f05] | ||
+ | Dynamixel製品との通信速度(ボーレート)を変更します。ライブラリ内で静的に1M(1000000)で初期化されていますが、Dynamixel製品の通信速度が変更されている場合はプログラム側で同じ通信速度に変更する必要があります。~ | ||
+ | Dynamixel製品が125k[bps]の場合 | ||
+ | #html{{ | ||
+ | <pre class="brush: c"> | ||
+ | #include <fd.h> | ||
+ | void main (void) { | ||
+ | DX_ChangeBaudrate (125000); | ||
+ | } | ||
+ | </pre> | ||
+ | }} |