CAT306サンプルプログラム [S306-1] 統合開発環境 HEW 4 を使用しています。 ■おもなファイルの説明 1.resetprg.c : ベクタ0の設定   PowerON_Reset 関数から main関数を実行する。 2.intprg.c : 例外処理ベクタテーブル 3.cat302.c : メインプログラム 4.cat306.c : CAT306,CAT307,(CAT306)サンプル 5.init302.c : BSC初期化サンプル 6.extram.c : 増設RAMエリアデータの定義 未初期化データエリアとして B$EXTRAM セクションが生成され ますので、リンカでアドレス 0x300000 を割当てます。 7.1544G.H : H8SX/1544 Group I/O include ファイル 8.Sample302.abs : アブソリュートファイル(デバッグ用) 9.Sample302.mot : オブジェクトファイル ■プログラム概要 ・CAT302 設定 SCI2 TXD2(CN1-11A) を SCI2 RXD2(CN1-11B) へ接続します。 ・CAT306 設定 ボード先頭アドレス 0x00ffc0a0 SW1 ON 1,2,4,6 OFF 3,5 ・CAT307 設定 ボード先頭アドレス 0x00ffc0a8 SW1 ON 2,4,6 OFF 1,3,5 ※CAT307 CN1および CAT306 CN1の 2A〜5B を相互に接続します。 (各コネクタの 24VおよびGND は外部電源に接続します。)  ・TPUのチャネル0を1msecのインターバルタイマとして使用します。   このタイマを利用して3種類のタイマを動かしています。  ・DIPスイッチ(CAT302 SW2)   100msec周期で設定を読込み、メモリの dipsw_buf に記録します。   ON側が"1"、OFF側が"0"となります。  ・SCI チャネル2 500msec周期で trn_count の内容をASCI変換してその内容を STXとETXで はさんでTXD2より送信します。 RXD2でそのデータを受信しSTXとETXを取り除いてメモリの rec_command に 記録します。   送信、受信ともに割込みを使用しています。  ・CAT306,CAT307 50msec周期で pio_count の値をCAT307のP0(CAT305のP3)から出力します。 CAT306のP0(CAT305のP0)からに入力データを pin_buf に記録します。