マイコンには、さまざまなペリフェラルが搭載されています。前述したタイマ、通信ペリフェラル、A-Dコンバーター、外部端子の他にも、LCD(Liquid Crystal Display:液晶ディスプレイ)コントローラー/ドライバ、DMA(Direct Memory Access)、暗号化回路などがあります。また、通信ペリフェラルといってもUART (Universal Asynchronous Receiver Transmitter)、SPI(Serial Peripheral Interface)、I2C((Inter-Integrated Circuit)、USB(Universal Serial Bus)、CAN(Controller Area Network)などがあり、それぞれの機能によって割り込みの処理内容が異なります。
例えば、A-Dコンバーターの場合、変換結果を取り込みます。通信ペリフェラルは、受信時には受信データを取り込みますが、送信時には送信データをセットします。その他エラーが発生したときのエラー処理も割り込みハンドラが行います。
タイマはオーバーフロー、アンダーフローした際の時間に関係する処理や、コンペアマッチ、インプットキャプチャーのイベントが発生した際の処理も行います。
表1に代表的な割り込みハンドラの種類と処理の概要を示します。実際の処理内容はユーザーのアプリケーションで異なります。
マイコンによっては、割り込みハンドラが動作している状態を「ハンドラモード」と呼ぶ場合があります。ARMのCortex-Mプロセッサは、スレッドモードとハンドラモードの2つの動作モードを定義しています(図3参照)。
通常、リセット後にメインプログラムを実行し始める時は、スレッドモードであり、例外処理などが発生したときにハンドラモードに入ります。ここでいうハンドラとは、割り込みハンドラと同じように、例外処理(割り込み、フォールトなど)によって起動される専用プログラムのことを指しています。
Copyright © ITmedia, Inc. All Rights Reserved.