本ウェブサイトでは、JavaScriptおよびスタイルシートを使用しております。
お客さまがご使用のブラウザではスタイルが未適応のため、本来とは異なった表示になっておりますが、
情報は問題なくご利用いただけます。
FAQ-ID : 78int-nnnn
FAQ-ID : 78int-0101最終更新日 : 2004/02
割り込みの第1段階は各周辺機能部において指定された条件が満足されることです。 タイマ部ではコンペア・レジスタとの一致等で、シリアル部では通信完了等で、 外部割り込みではエッジ検出により、各々対応した割り込み要求フラグをセットします。 また、プログラムにより割り込み要求フラグをセットすることもできます。 |
UART送信処理例 複数バイトのデータを送信する場合、 通常はメイン・プログラムが出力データの1バイト目をUARTに書き込むとともに、 2バイト目以降のデータの情報を割り込み処理プログラムに引き渡します。 割り込み処理プログラムはメイン・プログラムから渡された情報を元にして 2バイト目以降のデータをUARTに書き込みます。 このように1バイト目と2バイト目以降では処理が異なってきます。 メイン・プログラムは割り込み処理プログラムに送信データの情報を渡し、 割り込み要求フラグをセットするだけとなります。 実際のUARTへの書き込みは全て割り込み処理プログラムが処理しますので、 全体の処理が見やすくなります。 |
割り込み要求フラグは以下の3つの使い方があります。
|
FAQ-ID : 78int-0102最終更新日 : 2007/12
注意 割り込みの説明の中で「同時」という言葉がよく使用されます。ところが、殆んどの場合に、厳密な意味で「全く同じ時間(タイミング)」を意味してはいません。ここで言っている「同時」はCPUが割り込みを受け付けるタイミングを意味しています。つまり、CPUが割り込み可能であれば、1命令の実行時間が「同時」の対象になりますが、CPUが割り込み禁止状態で動作している場合には、CPUが割り込みを受け付け可能になるまでの期間(数十~数百命令以上になることもある)が「同時」の対象になります。 |
参考 V850では8レベルまでの割り込み優先度の制御が可能です。V850ではPSWではなく、8ビットのISPRレジスタ(リード・オンリーのレジスタ)により処理中の割り込み優先度を保持しています。割り込みを受け付けると、割り込み優先度に対応したビットをセットします。RETI命令の実行時にそのときにISPRレジスタのセットされたビットの中で最も優先度の高い割り込みに対応したビットをクリアします。この処理を行うことで、割り込み優先度を制御しています。 |
:レジスタ・バンク0を使用 | ||
・レベル2の割り込み | :レジスタ・バンク1を使用 | |
・レベル1の割り込み | :レジスタ・バンク2を使用 | |
・レベル0の割り込み |
優先レベル | 割り込み処理でのマスクの制御、他 | |
レベル0(最優先) | 0(高優先) | 制御しない(割り込み禁止のまま) |
レベル1 | 0(高優先) | レベル1の分のマスクをセット/クリア |
レベル2 | 1(低優先) | PSWのISPビットをクリアする |
1(低優先) |
(2007/12)
FAQ-ID : 78int-0103最終更新日 : 2008/01
(2008/01)
DSEG saddrp Intaddr: DW 2 ;割り込み処理アドレス格納領域 次に、割り込み処理の先頭で以下のような処理を実行します。 INTxxx: PUSH AX ;AXレジスタの内容をスタックにセーブ ; ; 必要に応じて割り込みで使用する他のレジスタをスタックにセーブします。 ; MOVW AX,Intaddr ;処理アドレスの読み出し BR AX ;処理アドレスへ分岐これで、AX(及び他の)レジスタがスタックにセーブされた状態で実際の割り込み処理部へ分岐できます。この処理は実際に割り込みで処理する内容によらず一定となるので、要求を満足しています。
(2008/01)
FAQ-ID : 78int-0001最終更新日 : 2002/06
FAQ-ID : 78int-0002最終更新日 : 2002/05
FAQ-ID : 78int-0003
FAQ-ID : 78int-0004
[プログラム] do{ } while (STIF == 0);
例えば、プログラムの頭に #pragma NOP と書いて、 do{ NOP(); NOP(); } while (STIF == 0);のように変更してみてください。
FAQ-ID : 78int-0005
FAQ-ID : 78int-0006最終更新日 : 2001/08
FAQ-ID : 78int-0007
FAQ-ID : 78int-0008最終更新日 : 2004/02
FAQ-ID : 78int-0009最終更新日 : 2004/02
FAQ-ID : 78int-0010
FAQ-ID : 78int-0011
FAQ-ID : 78int-0012最終更新日 : 2001/08
FAQ-ID : 78int-0013
FAQ-ID : 78int-0014最終更新日 : 2004/02
FAQ-ID : 78int-0015
FAQ-ID : 78int-0016