こーどうぉーりあーー!1

NO IMAGE

先に紹介したUSBSPYDER08には、CodeWarrior ver.5.1(IDEのバージョンは5.7)という開発環境が付いている。ネットで参考になりそうなプログラムはないかと探したものの、うまくヒットしなかった。

で、ネットではHC08というタイプのマイコンに関するプログラムが掲載されていたので、それを参考にC言語でお遊びプログラミングしてみた。

CodeWarriorは、アセンブラ・C・C++の3種類の言語が使える。最近C++ばかりやっているおいらの頭には嬉しいかも。

+++++++++++++++++++++++++++++++++++++++++++++ 

プログラムを作る前にプロジェクトを作成してやらなくてはならないので、その手順。

  • [Fileメニュー][New Project](若しくはCodeWarrior起動時に出てくるダイヤログの[Create New Project])を選択すると、プロジェクト生成ウィザードが始まる。 
  • [Device and Connection]では、[HCS08][HCS08Q Family][MC9S08QG4]を選択し、[次へ]ボタンを押す。
  • [Project Parameters]では、プロジェクト名と使用する言語を選択する。適当なプロジェクト名を入れて(取り合えず今回はtestにしておきましょう)、今回はCを選択してから、[次へ]ボタンを押す。
  • [Add Aditional Files]では、ソースファイルがある場合、この場面で選択する。何もなければ、[Create main.c/main.asm File]にチェックが入っているか確認して[次へ]ボタンを押す。このチェックがあると、勝手にmain.c(C・C++)または、main.asm(アセンブラ)の雛形を生成してくれる。
  • [Processor Expert]では、今回は[None]にチェックして[完了]ボタンを押す。[Processor Expert]という機能があり、これはビジュアル的にプログラムを設計できるツール。もし、使用する場合は、[Processor Expert]にチェックする。ただ、沢山ウィンドウが開いて見づらいので、Processor Expertの機能をCodeWarrior上に取り込む(?)ことができる[Device Initialization]が個人的にはお勧め。
  • 少し待つと、プロジェクトが出来上がる。
  • プログラムを入力する。

+++++++++++++++++++++++++++++++++++++++++++++ 

簡単なプログラムを入力してみましょう。

下は、内部でプルアップされたポートA1ピン(入力)をLとすると、出力に設定しているポートA0ピンからHが出力されるというプログラム(生成されたmain.cを下記のように変更する)。

#include /* for EnableInterrupts macro */
#include “derivative.h” /* include peripheral declarations */
#include “C:\Program Files\Freescale\CodeWarrior for HC08 V5.1\lib\hc08c\device\include\mc9s08qg4.h” /*ここの部分を追記しないと、エラーになる。main(void)中に明記している変数を宣言しているヘッダーファイル。人によっては在り処が違うのでご注意あれ。*/

void main(void) {

/*PTADD_PTADD×は、ビットごとに入力(0)、出力(1)を設定する。*/
      PTADD_PTADD0 = 1;
      PTADD_PTADD1 = 0;
/*PTAPE_PTEPE×は、内蔵プルアップをする(1)、しない(0)を設定する。*/
     PTAPE_PTAPE1 = 1;

  __RESET_WATCHDOG(); /* feeds the dog */
 

for(;;) { 

 /*ポートA1が0になったらポートA0をHにし、そうでなければLとする。*/ 

if ( PTAD_PTAD1==0 ){
   
      PTAD_PTAD0 = 1;
     
              }
    else{
      PTAD_PTAD0 = 0;
    }
               
        }
}

 

これを入力してから、緑三角のアイコン(Debug)を押し、エラーがなければTrue-Time Simulatorが起動する。

cw070519.PNGcw070519_2.PNG

 

↑画面左側の赤●はLED、右の長方形はスイッチ。通常LEDはOFF(緑)だけれど、スイッチを上にすると、論理が0となり、LEDが点灯(赤)します。True-Time Simulatorに関しては、今回は説明を省略!(完全に手抜きですな。なはは)