STM32割り込み優先度
1. 割り込み処理の用語
STM32 CubeMXのNVIC設定は、
・優先度グループの選択
・割り込みの有効化と無効化
・割り込み優先レベルの設定で構成される。
2.優先度グループを選択
・いくつかのビットを使用して、NVIC優先度レベルを定義
・これらのビットは、横取り優先度とサブ優先度のに相当する2つの優先度グループに分割される。
・値が小さいほど優先度が高い。
・0が一番優先度が高い。
参考:UM1718
(1) Enabled :(割り込みの有効化と無効化)
・チェックボックス:チェックすると割り込みが有効になり、チェックを外すと、無効になる。
(2) Preemption Priority :
・横取り優先度のレベル(グループ優先度)を選択。
・横取り優先度は、ある割り込みが他の割り込みに割り込むことが出るかを定義する。
・0の方が、優先度が高い。
(3) Sub Priority :
・サブ優先度のレベルを選択。
・サブ優先度は、割り込みの優先度レベルを定義する。
(4) 優先度の考え方
・Preemption Priorityが一番小さいものが一番優先されて実行される。
・同じ値のものは同じグループ優先度となる。
・同じグループ優先度を持つ複数の割り込み処理が同時に発生した場合、
Sub Priority(サブ優先度)が小さいものから処理される。
table:優先度
Preemption Priority Sub Priority
0 0 割り込み優先度が高い。
1
2
3
4
・・・15
1 0
1
2
3
4
・・・15
2 0
1
2
3
4
・・・15
3 0
1
2
3
4
・・・15
・・・15 ・・・15 割り込み優先度が低い