割り込みハンドラとは?:Q&Aで学ぶマイコン講座(27)(3/3 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初心者の方からよく質問される「割り込みハンドラ/ハンドラモードとは?」です。
割り込みハンドラの動作
マイコンには、さまざまなペリフェラルが搭載されています。前述したタイマ、通信ペリフェラル、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.
関連記事
- マイコンの周辺部品は、最低何が必要?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、超初心者の方からよく質問される「マイコンの周辺部品は、最低何が必要?」です。 - マイコンの勉強法
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、超初級者の方からよく質問される「マイコンの勉強法/学習方法」です。 - マイコンの選び方
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「マイコンの選び方」についてです。 - そもそも「マイコン」って何?
マイコンを使いこなすために知っておくべき基本用語を毎回1つずつ取り上げて解説する新連載がスタート!! 第1回目の今回は、「そもそも“マイコン”って何?」という問い掛けから、マイコンの実態や応用分野、具体的な働きについて紹介します。