Hardware Interrupt
アドオンが必要: この機能には Embedded Coder Support Package for STMicroelectronics STM32 Processors アドオンが必要です。
ライブラリ:
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32F1xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32F2xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32F3xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32F4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32F7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32G0xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32G4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32H7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32L4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32L5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32U5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors /
STM32WBxx Based Boards
説明
Hardware Interrupt ブロックを使用して、モデルの生成コード内に割り込みサービス ルーチン (ISR) を自動的に作成し、選択したイベントに対してアクションを実行します。ISR は、ブロックのイベント端子に関連付けられた下流の Function-Call Subsystem を実行します。
イベント出力端子に関連付けられた Function-Call Subsystem は、ISR の優先順位と同じ優先順位で実行されます。
このブロックを使用すると、次のことが可能になります。
STM32 プロセッサ ベースのボードで ISR を作成する。
ISR の優先順位を設定する。
割り込みプリエンプションを有効または無効にする。
このブロックは、指定された ISR および選択されたイベントに対してのみコードを生成します。構成を変更するには、割り込みおよび特定のトリガー オプションを有効にして、選択した周辺装置の設定を使用します。
たとえば、Hardware Interrupt ブロックで ADC 周辺装置用の ISR を作成するには、次のようにします。
モデルには、[Analog to digital Converter] (ADC) ブロックが必要です。
ADC から ISR をトリガーするには、[コンフィギュレーション パラメーター]、[ハードウェア実行]、[Target Hardware Resources]、[ADC1] で、[Enable Regular EoCS Interrupt] または [Enable Injected EoCS Interrupt] チェック ボックスをオンにします。モデルに Analog to Digital Converter ブロックがない場合、このチェック ボックスをオンにしても効果はありません。
Hardware Interrupt ブロックの [割り込みグループ] パラメーターで
Analog to digital converter (ADC)を選択し、[割り込み名] パラメーターでADCIRQ_Handlerを選択します。[サービス対象イベント] パラメーターで、イベント名
ADC1 Reg EoCSまたはADC1 Inj EoCSを選択します。
[コンフィギュレーション パラメーター]、[ハードウェア実行]、[Target Hardware Resources]、[ADC] で、[DMA transfer complete interrupt is enabled] および [Watchdog interrupt is enabled] のチェック ボックスが既定でオンになっているため、必要な Hardware Interrupt ブロック設定を選択すると、DMA および Watchdog 割り込み用の ISR が自動的にトリガーされます。
メモ
STM32H7xx ベースのプロセッサの場合、外部割り込みを有効にするために STM32CubeMX 6.2.0 バージョンによって生成されたコードでは、選択された GPIO ピンが入力モードで構成されません。選択された GPIO ピンで外部割り込みをトリガーするには、ピン モードを [入力] として構成するカスタム コードを追加します。
モデルで System Initialize ブロックを使用してカスタム コードを追加できます。
たとえば、ピン [PD3] の [EXTI3] 割り込みを有効にするには、次のようにします。
STM32CubeMX プロジェクトで [PD3] ピンを [GPIO_EXTI3] として構成します。
モデルに System Initialize ブロックを追加します。
System Initialize ブロックの [System Initialize Function Execution Code] セクションで次のカスタム コードを指定します。これにより、ピン PD3 が入力モードで構成されます。
LL_GPIO_SetPinMode(GPIOD, LL_GPIO_PIN_3, LL_GPIO_MODE_INPUT);
ISR は model_interrupts.c ファイルに生成されます。
カスタム イベントの使用に適さない場合の詳細については、制限を参照してください。
例
端子
入力
出力
パラメーター
制限
ブロックまたはコンフィギュレーション パラメーターから割り込みまたはイベント生成を選択した場合は、カスタム イベントを使用しないでください。生成されたコードをハードウェア ボード上で実行すると、Hardware Interrupt サービス ルーチン内で無期限に処理が停止した状態が生じることがあります。サポートされているイベントをカスタム イベントとして使用する場合は、ブロックからのサポートされているイベント生成が有効になっていないことを確認してください。
また、カスタム イベントの有効化が Initialize Subsystem の一部にならないようにしてください。実行時に実行される必要があります。
拡張機能
バージョン履歴
R2021b で導入



