割込み処理の注意点①
【割込み処理はシンプルに】
割込みが発生すると,冒頭でも説明したように,「通常の処理」を中断して「割込み処理」を行います。
つまり,割込みの処理時間が長いということは,「通常の処理」の中断時間が長くなることを意味します。
では,割込み処理時間が長くなると,どんな不都合が生じるのでしょうか?
通常の処理で,ある時間内に完了しないといけない処理(「処理A」とします)があったとします。割込みの処理時間が長くなると,通常処理の「処理A」が時間内に完了できなくなる可能性があります。
例えば,「処理A」の処理時間が0.3秒で,0.5秒以内に完了しないといけないとします。「割込み処理」が0.3秒かかるとした場合,「処理A」の処理中に割込みが発生して「割込み処理」が行われると,「処理A」が0.5秒以内に処理を完了できなくなってしまいます。
このようなことから,割込み処理はできるだけシンプルにして,割込みの処理時間を短くするということが基本的な考え方となります。
ここで,デジタル表示時計を考えてみましょう。
デジタル表示時計には,年月日や曜日,24時間表示,12時間表示など様々な表示モード,表示項目があります。
これらの表示内容をすべてタイマ割込み処理の中で更新しようとすると,かなり多くの処理が必要になりそうですが,実際にはすべての表示内容をタイマ割込み処理の中で更新する必要はありません。
タイマ割込み処理でやるべきことは何かというと,「1秒毎のカウンタ」を1だけカウントアップするということだけで充分です。
あとは、通常処理の中でその「1秒毎のカウンタ」値から,分,時間,月,年,曜日等を算出し,それらの情報を元にデジタル表示時計の表示を更新すればよいということになります。

- 投稿タグ
- 割込み