1. 割り込み方式
割り込み:メインプログラムの実行中に、特定の割り込み要因(割り込み要因)が発生すると、CPUは実行中のプログラムを一時停止し、割り込みプログラムの処理に切り替わり、処理が完了すると元のサスペンド状態に戻ります。走り続ける姿勢。
割り込みの優先順位:複数の割り込みソースが同時に割り込みを申請した場合、CPU は割り込みソースの優先順位に基づいて決定を行い、より緊急性の高い割り込みソースに最初に応答します。
割り込みネスティング:割り込みプログラムの実行中に、新しい優先度の高い割り込みソースが割り込みを申請すると、CPU は現在の割り込みプログラムを再度一時停止し、新しい割り込みプログラムの処理に切り替え、処理が完了した後に順番に戻ります。
割り込みフローチャート:
2. STM32割り込み
STM32 では、NVIC (Nested Vectored Interrupt Controller) は、割り込みを管理するために使用される入れ子になったベクトル割り込みコントローラーです。68 個のマスカブル割り込みチャネルを均一に管理し、EXTI、TIM、ADC、USART、SPI、I2C、RTC などの複数の周辺モジュールをカバーします。
各割り込みチャネルには 16 のプログラム可能な優先順位レベルがあります。これらの割り込みをより適切に管理するために、優先順位をグループ化し、プリエンプションと応答の優先順位を設定できます。さまざまな優先順位を設定することで、割り込みがトリガーされる順序とその処理方法を決定できます。
NVIC は割り込みスケジューラに似ており、すべての割り込み要求を管理し、優先順位とグループ化構成に基づいて割り込みのトリガーと処理順序を決定します。各割り込みチャネルは最大 16 個の割り込みをロードでき、割り込みイベントが発生すると、NVIC は優先順位とグループ設定に基づいてどの割り込みが最初に処理されるかを決定します。
NVIC を使用すると、柔軟な割り込み管理メカニズムを実装して、優先度の高い割り込みに適時に応答できるようにすることができます。
NVICの基本構造
システム割り込みシステム