マイコン 工作入門 インドア・プレーン 玄箱PRO   オーディオ工房   100均   イベント

はてなブックマークに追加   USBSPYDER08を使ってみよう(部品外付けで動作させる-後編) (連載4回)

 前回はUSBSPYDER08に圧電スピーカをつなぐハードウェアとソフトウェアのひな型を作りました。
今回は、プログラムを完成させます。

= プロジェクトを再開する =

 前回作成途上だったプロジェクトを再開します。
 「スタート」メニューから"CodeWaiior IDE"を呼び出し、"Startup"ダイアログの"Load Previous Project"(以前使ったプロジェクトをロードする)をクリックします。

Startupダイアログ

 すると、使ったことのあるプロジェクト一覧が開きます。
 "SPY2"プロジェクトを選択して、"Open Project"(プロジェクトを開く)をクリックします。

Open Project ダイアログ

 これでプロジェクトが開きました。

= プログラムを書く =

 いよいよ、アプリケーション独自のプログラムを記述します。
 まずはメイン・ルーチンが入っているファイルを開きます。左の"Project Panel"(プロジェクト・パネル)の"User Modules"(ユーザ・モジュール)という場所に、プロジェクト名と同じ名前のソース・コード・ファイルが作成されています。
 ここでは、"SPY2.c"という名前です。

プログラムファイルを開く

 このファイルをダブルクリックするとエディタが開きます。
 
ソース・コードの追加

 ソース・コードに2か所、追加を行っています。

 まず、16ビットの大域変数を三つ定義しています。

大域変数表

そして、"main()"関数の中には、無限ループを配置し、その中からメソッドを呼び出しています。

for (;;) { (void)PPG1_SetFreqHz(Freq1); // 第一番目の音を出す。 Cpu_Delay100US(Period); // 時間待ちをする。
(void)PPG1_SetFreqHz(Freq2); // 第二番目の音を出す。 Cpu_Delay100US(Period); // 時間待ちをする。 }

 "SetFreqHz"メソッドを実行するとエラーコードを返します。
 指定した周波数が下限値と上限値の間になかった場合などにエラーが発生するのですが、ここでは"(void)"によって無視しています。

 アプリケーション・プログラムは、以上で完成です。

= プログラムを実行する =

 それでは、USBSPYDER08にプログラムを書き込んで実行させてみましょう。
 パソコンにUSBPSYDER08を接続したら、メニュ・バーの"Project" - "Debug"を選ぶか、F5キーを押すと、コンパイルの後、デバッガが呼び出されます。

 最初に現れるのは、"Target Connection"(ターゲットへの接続)ダイアログです。

Target Connection ダイアログ

 このダイアログでは、"Hardware Model:"(ハードウェアの種類)に"USBSPYDER8"を選び、"Device code"(デバイスの型式)に"MC9S08QG4"を選んで、"Connect"(接続)をクリックします。
 すると"Target in progress..."(ターゲットとの接続の進捗)ダイアログが開き、プログラムが書き込まれます。

Target in progress ダイアログ

 プログラムが書き込まれたら、デバッガ・ウィンドウが開きます。

デバッガウィンドウ

 メニュー・バーから"Run" - "Start/Continue"を選ぶか、F5キーを押すとプログラムが実行され、音が鳴り始めます。

 "Data:1"ウィンドウには、大域変数の一覧が表示されています。このウィンドウから、大域変数の値をリアルタイムに変更することができます。

大域変数ウィンドウ

 "Freq1"をダブルクリックすると数値を変更することができます。
 変更された数値は、すぐに第一の音の高さに反映しますので、デバッガから好みの音を探すことができます。
 同様に、"Freq2"で第二の音の高さを"Period"で音の長さを変更することができます。

 変数の変更は、プログラムが実行されているかどうかに関わらず行うことができます。また、変数を変更する操作によってプログラムやタイマが影響を受けることもありませんので、デバッガが動作しているからといって音の高さやテンポが変わることもありません。

 このように動作中のマイコンに対してデバッグを行う機能を"In-Circuit Debug"(回路に実装した状態でのデバッグ)と呼びます。
 この機能は、バックグラウンド・デバッグ・モードの大きな特徴の一つです。



 次回は、簡単なアプリケーションを作成して、USBSPYDER08を開発ツールとして使ってみます。


田中範明

タグ:  

投稿者: yoshida 日時: 2007年07月20日 15:40 | パーマリンク |TOPページへ   ▲画面上へ

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/414

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)