CAT302サンプルプログラム [S302-2] 統合開発環境 HEW 4 を使用しています。 ■おもなファイルの説明 1.resetprg.c : ベクタ0の設定 PowerON_Reset 関数から main関数を実行する。 2.intprg.c : 例外処理ベクタテーブル 3.cat302.c : メインプログラム 4.init302.c : BSC初期化サンプル 5.extram.c : 増設RAMエリアデータの定義 未初期化データエリアとして B$EXTRAM セクションが生成され ますので、リンカでアドレス 0x300000 を割当てます。 6.1544G.H : H8SX/1544 Group I/O include ファイル 7.Sample302.abs : アブソリュートファイル(デバッグ用) 8.Sample302.mot : オブジェクトファイル ■プログラム概要 ・CAT302 設定 SCI2 TXD2(CN1-11A) を SCI2 RXD2(CN1-11B) へ接続します。 PK0〜PK7 を PJ0〜PJ7 へ接続します。 CN2 9A-13A (PK0-PJ0) 9B-13B (PK1-PJ1) 10A-14A (PK2-PJ2) 10B-14B (PK3-PJ3) 11A-15A (PK4-PJ4) 11B-15B (PK5-PJ5) 12A-16A (PK6-PJ6) 12B-16B (PK7-PJ7)  ・TPUのチャネル0を1msecのインターバルタイマとして使用します。 このタイマを利用して4種類のタイマを動かしています。  ・AD変換器 AN0〜AN7 10msec周期毎に AN0〜AN7の8chをAD変換して、an_data[0..7]に記録します。  ・DIPスイッチ(CAT302 SW2) 100msec周期で設定を読込み、メモリの dipsw_buf に記録します。 ON側が"1"、OFF側が"0"となります。  ・パラレルポート PK0〜PK7 → PJ0〜PJ7 50msec周期で pio_count の内容を PK へ出力します。 出力結果を PJ で読込み、メモリの pj_buf に記録します。  ・SCI チャネル2 500msec周期で trn_count の内容をASCI変換してその内容を STXとETXで はさんでTXD2より送信します。 RXD2でそのデータを受信しSTXとETXを取り除いてメモリの rec_command に 記録します。 送信、受信ともに割込みを使用しています。