割り込みとは
プログラム実行中に
が立つと実行中のプログラムを中断し制御を割り込み関数に渡す。
・割り込み要因の例(割り込みを発生させる要因)
外部割込み(プログラム外で割り込まれる)
(指定したポートに入力が発生した時に割り込みを発生)
↑例えばあるポートに緊急停止ボタンを付けておいてボタンが押されたらプログラムを停止するとかもできる
内部割込み
(一定時間ごとに割り込みを発生)
(プログラムに異常が発生した時に割り込みを発生)
割り込み要因にはさまざまあるが代表的なものはタイマである。
一定の周期ごとに割り込みフラグを立てる(割り込み関数を実行する)割り込み要因である。
割り込みが発生する仕組み
※前提としてCPUは一命令ごとに割り込みフラグをチェックしている
1命令実行→割り込みフラグをチェック→
フラグが立っていたら→プログラムカウンタに割り込み関数のアドレスをセット→割り込み関数を実行→終了したら元の命令のアドレスをカウンタに戻す。
フラグが立っていなかったら→次の命令を実行
これの繰り返し。
サブルーチンとの違い
サブルーチンは
に記載されて決まったタイミングで処理を行う
割り込みは
に記載され
によって処理を行う
割り込みの制約
※再帰呼び出しとは実行中に自分自身を呼び出すこと。
割り込み要因をできるだけたくさん書け的な問題用
ソフトウェア割り込み
ハードウェア割り込み
割り込みの作り方①
チョロすぎてチョロChill侍
ログインすると、チェック機能を利用できるようになります。