« XPortを使ったNetwork入門キット(12) | メイン | OSBDMで作る大電流発光ダイオード駆動装置 (5) »

OSBDMで作る大電流発光ダイオード駆動装置 (4)


大電流発光ダイオード駆動装置

 前回作成したプロジェクトの上でソフトウェアを開発していきます.

システムの概要

 ここで,作成しようとしているプログラムの目的は,ギャング出力に接続されたLEDを1秒周期で点滅させることです.そのために二つのコンポーネントを作成しています.

  • タイマ割り込み

    ハードウェアタイマ機能を使って,0.5秒ごとに割り込みを発生させます.割り込みのタイミングで,ギャング出力を反転させると,LEDは1秒周期で点滅します.

  • ギャング出力機能付き汎用ポート

    "PTC0"汎用ポートを操作すると,ギャング出力に設定された8本のポートが同時に動きます."PTC0"汎用ポートにギャング出力属性を追加するだけで,ギャング出力が使えるようになります.

 これら二つのコンポーネント間で動作を規定するのが,イベント・ハンドラというプログラムです.イベント・ハンドラの記述については,後述します.

タイマ割り込みの設定

 まず,タイマ割り込みを設定します."CodeWarrior"のウィンドウの右下にある"Components Library"ペインで,"Timing"をダブルクリックし,続いて"Periodic Interrupt"をダブルクリックします.これで,タイマ割り込みコンポーネントである"TI1"ができました.

タイマ割り込みコンポーネントの呼び出し

 次は,できあがったタイマ割り込みコンポーネントの設定を行います.設定個所は,割り込み周期(Interrupt period)だけです.中央の"Component Inspector"ペインの"Interrupt period"に"0.5s"(0.5秒)+ <Enter>と打ち込み,周期を指定します.

タイマ割り込みコンポーネントの設定

 以上で,タイマ割り込みコンポーネントの設定は,終了です.

ギャング出力の設定

 次は,ギャング出力コンポーネントの設定です."CodeWarrior"のウィンドウの右下にある"Components Library"ペインで,"START"をクリックし,さらに"Digital input/output""Standard I/O""Individual pins"の順にダブルクリックしていきます.これで,汎用入出力コンポーネントである"Bit1"ができました.

汎用入出力コンポーネントの呼び出し

 この汎用入出力コンポーネントをギャング出力として使えるように設定していきます.まず,中央の"Component Inspector"ペインの"Pin for I/O"を"PTC0_TPM1CH1_ADP8"に設定し,"Direction"を"Output"に設定します.

ピンの設定

 さらに,ギャング出力機能を設定したいのですが,この設定項目には該当の項目が並んでいません.実は,ギャング出力機能は,もっとも詳しい設定に分類されるために,"BASIC"項目には出てこないのです."Component Inspector"ペインの下の方にある「EXPERT」ボタンをクリックすると,ギャング出力設定を含んだ,さらに詳しい設定項目が表示されるようになります.

EXPERT設定項目を表示させる

 "Ganged Output Drive PTC0"を”Enabled"に設定し,さらに,関連する七つのポートすべてを"Enabled"に設定します.

ギャング出力機能を設定する

  以上で,ギャング出力コンポーネントの設定は,終了です.

とりあえず,Makeする

 コンポーネントの設定が終わったら,とりあえず,「Make」ボタンをクリックします.すると,あっというまに,ソースコードが出来上がり,コンパイルまで終わります.

Makeする

 ここで自動的に生成されたコードは,文法エラーなどない正しいプログラムになっているはずです.そのため,コンパイルは,すんなり通ります.

 これで,ビーンの設定が終わりました.次回は,ソフトウェアを完成させます.

田中範明(noritan.org)

カテゴリ:

トラックバック

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





カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1
/*yahoo remove*/