割り込み
CPUがあるプログラムを実行中、周辺回路等からの要求によって、現在実行中の処理を一時中断してその要求に対する別の処理(割り込み処理)に移行する動作を割り込みという。
1.緊急度の高い処理を優先的に実行する
2.何時発生するか分からない要求を別の処理をしながら待機して処理する
3.一定時間毎に決まった処理をする
などに有効だよ。
注意することは、
○ 割り込み処理後、元の処理に確実に復帰できるよう
1.処理前の状況を保存しておき
SREGの内容をスタックに保存(push)
(その他必要なレジスタの内容の退避)
2.割り込み処理からの復帰時に保存していた状況に戻す
(その他必要なレジスタの内容の復帰)
スタックからSREGの内容を戻す(pop)
○ 可能なら割り込み処理専用の汎用レジスタを変数用に用意し、他のルーチンで使用している変数領域と区別する
こと