課題2-8再

割り込みH8の割り込みの説明をよく読んで、以下の設問に答えよ。

IRQ0とIRQ1とIRQ2の3つの外部割り込み信号線を有効とし、それそれが優先順位に従って動作するプログラム(70点)を作成せよ。
また、状態遷移図(30点)も作成せよ。

・IRQ2、1、0の割り込みハンドラは、割り込みイベントが発生した回数をカウントし、printfで表示するものとする。
・優先順位はスイッチPA0を押すごとに、順番に切り替わるものとする。
・割り込みレベルは、IRQ0、1、2ともエッジトリガとする。
・割り込みイベントの発生は、ポートBのbit0とbit1、bit2をそれぞれIRQ0とIRQ1、IRQ2に接続し、ボートBのbitを0、1に変化させることで行う。
 この時、bitは同時に変化させること。(1秒周期程度でイベントを発生させる)
 ※1 IRQ0はコネクタCNX551の3ピン、IRQ1は4ピン、IRQ2は5ピンに接続されている。
 ※2 ポートBのbit0はコネクタCNX551の16ピン、bit1は17ピン、bit2は18ピンに接続されている。接続に必要な電線は別途貸出する。
 ※3 IRQ0、1、2の割り込みイベントは同時に発生している事に注意せよ。
 ※4 割り込みマスクされていない割り込みハンドラは、割り込みイベントの発生直後に起動されることに注意せよ。
 ※5 割り込みハンドラは、デフォルトの設定では、多重割り込みを行わない。

・以上のプログラムに加えて、優先されていない割り込みイベントを無効にする処理を付加する事。この処理は、スイッチPA1を押すたびにON/OFFするように。
 具体的には、IRQ0が優先された状態ではIRQ1、2が発生しないようにする。(IERの設定ではなくISRをアクセスすることで実現すること)

          提出物: 状態遷移図、プログラムリスト(main.cとmonitor.h)

 

最終更新:2014年07月17日 16:02