12,964
回編集
(ページの作成:「== 概要 == ノンマスカブル割り込み(以下、NMIという)とは、マスクできない割り込みのことである。<br> 通常の割り込みでは、割…」) |
|||
101行目: | 101行目: | ||
初期値が汎用IOになっている場合は、ソフトウェアでNMIに切り替える必要がある。<br> | 初期値が汎用IOになっている場合は、ソフトウェアでNMIに切り替える必要がある。<br> | ||
この場合、端子機能が切り替わるまではNMIは使用できない。<br> | この場合、端子機能が切り替わるまではNMIは使用できない。<br> | ||
<br> | |||
==== NMIの許可ビットがある場合 ==== | |||
通常、NMIには許可ビットが存在しないことが多いが、NMIの許可ビットを持ち、設定をしないとNMIが使用できないマイコンも存在する。<br> | |||
この場合、マイコンの起動からNMIの許可ビットを設定するまで、NMIが使用できない。<br> | |||
<br> | |||
==== NMIが無い、もしくは代替機能を持つ場合 ==== | |||
コストを重視して機能を最小限にしたマイコンでは、NMI機能が存在しない場合もある。<br> | |||
この場合、最も優先順位の高い割り込みをNMIの代わりとして使用することになる。<br> | |||
<br> | |||
また、NMIと同じようにマスクできない割り込みを持っていても、NMIと若干仕様が異なる場合がある。<br> | |||
例えば、8ビットマイコンであるSTM8SファミリのSTM8コアにはNMIが無く、代わりに、マスクできないTRAPという割り込みが存在する。<br> | |||
TRAPとNMIの違いは、優先順位の割り当てである。<br> | |||
TRAPは、他の割り込みで最も優先順位の高い割り込みと同じ優先順位となるため、NMIのように単独で優先順位が高いわけではない。(下図を参照)<br> | |||
[[ファイル:NMI 5.jpg|フレームなし|中央]] | |||
<center>'''図. STM8コアの割り込みコントローラの説明(STM8SおよびSTM8Aファミリ)'''</center><br> | |||
<br><br> | |||
== NMIの使用上の注意 == | |||
NMIが端子に割り当てられている場合には、ノイズに注意しなければならない。<br> | |||
<br> | |||
NMIの端子にノイズが入ると、致命的な障害の発生を誤検知して、マイコンが緊急動作に切り替わってしまう場合がある。<br> | |||
そのため、NMIに割り当てられている端子には、十分なノイズ対策を施す必要がある。<br> | |||
<br> | |||
端子から入力されるノイズに関しての対策は、「ハイレベルマイコン講座【EMS対策編】*6)」を参照すること。<br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:ARM]][[カテゴリ:AVR]][[カテゴリ:MSP430]][[カテゴリ:STM32]][[カテゴリ:H8]] | [[カテゴリ:ARM]][[カテゴリ:AVR]][[カテゴリ:MSP430]][[カテゴリ:STM32]][[カテゴリ:H8]] |