HEW4の使い方

ここでは、HEW4の使い方を説明したいと思います。なお、ターゲットは2005年の名大祭に使用した、秋月製のベースボードとし、これから使うサンプルプログラムはそのベースボード上にあるLED2つ(赤・緑)を交互に点灯させるものとします。

まず、HEW4を立ち上げます。はじめに、新規ワークスペースを作るか、既存のものを開くか聞いてきます。ここでは、新規にプロジェクトを作ります。

次に、プロジェクトの名前を決めます。今回は、LEDWINKで良いでしょう。また、保存先ディレクトリは適宜決めて下さい。「次へ」ボタンを押します。

次に、以下のウィンドウがでます。

ツールチェインは値が大きい方で。(HEW2の環境が残っている場合はここに5.xが出る場合がありますが、(1)に従ってコンパイラをインストールしてもらった場合6.xになっていると思います。「CPUシリーズ」は"300H"で、「CPUタイプ」は"3694F"を選択し、次へボタンを押します。

あとはデフォルトのままでよいでしょう。次へボタンを押していき、最後に完了ボタンを押して下さい。

すると、上のような3ペインのウィンドウが出るでしょう。

サンプルコードを書いて、コンパイルしてみる

まず、左のウィンドウの"LEDWINK.c"をダブルクリックして、右のウィンドウにLEDWINK.cの内容を表示させます。そこに、以下のコードを書いて下さい。(コピペは失敗する可能性があるので、打ち込んだ方が幸せです。)

#ifdef __cplusplus

extern "C" {
void abort(void);
#endif
void main(void);
#ifdef __cplusplus
}
#endif

#define PCR8 *(volatile unsigned char *)0xFFEB		//	ポート・コントロール・レジスタ8の定義
#define PDR8 *(volatile unsigned char *)0xFFDB		//	ポート・データ・レジスタ8の定義

void main(void){
    volatile unsigned int i;
    PCR8 = 0x03;					//	PDR8の0,1ビット目を使えるように設定
    while(1){
        PDR8 = 0x02;					//	P81をON,P80をOFF
        for(i=0;i<0xbfff;i++);				//	ウェイト
        PDR8 = 0x01;					//	P81をOFF,P80をON
        for(i=0;i<0xbfff;i++);				//	ウェイト
    }														
}

#ifdef __cplusplus
void abort(void)
{
	
}
#endif

内容は簡単に言うと、まずdefineレジスタの定義を行っています。次に、コメントの様に設定することでP81,P80のピンを使えるようにしています。while文を使うことでその中の動作を続けることになっていますが、while文の中で、P81とP80をウェイトを挟んでON/OFFすることで点滅しているように見せています。

これをコンパイルしてみてください。もしかしてエラーが発見された場合は、どこかに打ち間違いがあることが考えられます。

僕の環境では「L1100 (W) Cannot find "C" specified in option "start"」のようにWarningが出ますが、動作上は問題ないです。(コラ、そこっ。いい加減とか言わない。)

これで、サンプルコードのプログラミングとコンパイルが終わりました。次のページで、コンパイルして得たものを実際にボードにダウンロードしてみたいと思います。

文責:JQ2QBD 2006/01/04

トップへ