簡體   English   中英

如何在處理器端的 IRQ 中啟用和禁用中斷? 【STM32】

[英]How is an interrupt enabled and disabled in the IRQ on the processor side? [STM32]

據我了解,使用以下方法啟用中斷:在一般 EXTI 編程中遵循步驟 1) 到 9)。 在此處輸入圖像描述

啟用和清除中斷有兩個方面:

  1. 外設端:由 SYSCFG、EXTI 塊啟用,一旦遇到中斷,也會在掛起的寄存器 EXTI_PR 中清除。
  2. 處理器端:啟用 NVIC->ISER。 但是盡管 NVIC->ICPR 在那里,我沒有看到它被用來清除處理器端的掛起寄存器。 為什么?
  3. 是否也有任何外圍端中斷發生器也沒有任何需要清除的掛起寄存器?
  4. 任何解釋這些的文件也將不勝感激。
  1. 與所有其他外設寄存器相同。 從程序員的角度來看,清晰的路徑並不重要。 重要的是如何清除該位的信息。

  2. 清除需要清除位 EXTI PR 寄存器的位。

  3. 有時會間接發生清除(例如通過讀取某些通信寄存器中的數據寄存器)。 某些外設具有僅用於清除掛起位的特殊寄存器。 示例:DMA

一切都在參考手冊中。

在此處輸入圖像描述

清除外設寄存器中的標志將使來自外設的 NVIC 中斷線無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM