Download presentation
Presentation is loading. Please wait.
1
割り込み
2
割り込みとは 通常の関数は、関数呼び出しによって動作し、 return文で値を返して終了(void型ではreturn値 なし)
割り込み関数は、割り込み要因(イベント) が発生したときに動作し、値は返さない 割り込みが発生するとそれまで動作していたプロ グラムは中断し、割り込み処理終了後に再開する
3
割り込みの種類 ソフトウェア割り込み ハードウェア INT命令など オーバーフローなど ノンマスカブル割り込み(特殊割り込み)
割込みの許可/禁止のみ制御できる(割り込みレベルな し) ウォッチドッグ・タイマなど マスカブル割り込み(周辺機能割り込み) 割込みごとにレベルが設定されており、指定したレベル以 上の割り込みだけが許可される INT外部割込み タイマ割り込みなど
4
割り込みベクタテーブル 割り込み関数の場所を記述した一覧表
割り込み要因が発生すると、このベクタテーブルを参照して、次の プログラム動作場所を決める 例)INT3外部割込み マイコンのINT3端子(19番ピン)の電圧が立ち下がると割込みが発生 ベクタ番号26のアドレスを参照し 動作中の処理を中断し、割込み処理関数を実行 アドレス メモリ : : main関数 **100番地 割込み処理関数 ベクタ番号 : 26 **100番地 動作中 INT3 動作
5
INT3割込み(P214) INT3端子(19番ピン)への入力による割込み
関連するレジスタがタイマCモジュールのレジ スタと兼用になっている(INT3端子はTCIN端 子と兼用) INT3割込み使用時にはタイマCによる割込みは 使用できない。(逆も同じ) 割込みは、立ち上がりエッジ/立ち下がりエッ ジ/両エッジ、から選択できる 入力にはフィルタを設定できる(チャタリン グ対策ができる)
6
サンプルでのINT3割込み設定(P214参照) (tcc04,tcc03)=(0,1) 赤字はプログラムで設定 (tcc06)=(1)
立ち上がりエッジを選択(スイッチを押したとき) (tcc06)=(1) INT3割込みとして使用(タイマC割込みは使用できない) (tcc11,tcc10)=(1,1) f32フィルタ使用 (20/32)MHzでサンプリングして、3回連続して値が1だった場合に立ち あがったとして割込みを実行 チャタリング対策 (ilvl2_int3ic, ilvl1_int3ic, ilvl0_int3ic)=(0,0,1) (P208の図19-6参照) int3割込み制御レジスタのILVL0ビットを1にする 割込み優先レベルがレベル1となる このレベル1>IPLの値 であるので割込みできる IPLの値は初期値0(P207の図19-5のフラグレジスタ中のIPL)
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.