前の記事はこちら EV3でNXCをうごかしてみるプロジェクト 動かない!
なにがなんだか、わからないうちに動くようになった、NXCですが・・・
いろいろやった・・・の「いろいろ」が思い出せなくて困っています。
一回目は、参考にさせて頂いた記事(Ev3:BricxCCのインストール、設定とプログラム)の通りに操作してみて、ダメだったので、その日はあきらめました。
再度、翌日に BricxCC の再インストールから実施したのですが、やっぱりダメ
ヘッダーファイルの修正に失敗したのかと思って、修正前のヘッダーファイルに入れ替えて、再度ヘッダーファイルの修正をしてみたけどダメ
で、本当にあきらめかけたのですが・・・あきらめるのが悔しくて、最後のあがき・・・とばかりに、いろいろと試してみました。
で・・・
本当に、いろいろやった結果・・・
サンプルプログラムとして、モーターを動かすサンプルプログラムがあるけど・・・この最初が
// Sample Program “Motor.c”
#include < stdio.h >
#include < unistd.h >
#include “C:\BricxCC\lms_api\ev3_output.h”
#include “C:\BricxCC\lms_api\ev3_command.h”
こうなっています。
これを
// Sample Program “Motor.c”
#include “jissenPBL.h”
こうしたら、なんか動きました。
(つまり手順16で、入力したモーター制御のプログラムのヘッダー定義が違っていたってこと)
よし!!
長かった・・・(涙)
良くあきらめずに、頑張った オレ!
じゃあ、次のサンプルプログラム「サウンドの再生」をやってみます。
プログラムは以下のとおり・・・
// Sample Program “Sound.c”
#include "jissenPBL.h"
int main()
{
OutputInit();
SoundInit();
PlayTone(440,1000); //frq(Hz),duration
Wait(1000);
PlayToneEx(330,400,100); //frq(Hz),duration,vol(100 only?)
Wait(1000);
PlayFileEx("/home/root/lms2012/prjs/Bravo.rsf",100,false); //Filename,vol,loop
Wait(1000);
PlayFile("/home/root/lms2012/prjs/Boo.rsf"); //Filename only
Wait(1000);
OnFwdEx(OUT_BC,70,0);
Wait(1000);
Off(OUT_BC);
}
を入力して、 sound.c としてコンパイルします。
するとエラーになります。
sound.prj ファイルは、できていません。
しかたがないので、(先に作った)motor.prj をコピーして sound.prj にすると、(sound.c が)コンパイルできます。
ということで、どうしたら prj ファイルができるのでしょうか?
で、この謎ですが・・・
.prj ファイルは、BricxCC の Projrct Manager を操作すると(ファイルが)作成されることが分かりました。
よし、また、一歩前進!
とりあえず、動かすことには成功しました。
いや~ 本当に長かった・・・
続きの記事はこちら EV3でNXCをうごかしてみるプロジェクト EV3本体での実行