什么叫中斷?(學過51單片機的肯定不陌生!!)
EXTI(External interrupt)指的是外部中斷,通過GPIO檢測輸入脈沖,引起中斷事件,打斷原來的代碼執行流程,進入到中斷服務函數中進行處理,處理完后,再返回到之前中斷的代碼繼續執行
stm32的中斷和異常(在stm32中,所有的GPIO都可以用作外部中斷源的輸入端)
在stm32的中斷向量表是重新進行編排的,(Cortex內核中,打斷代碼執行流程的事件分為異常(exception)以及中斷(interrupt),編號0~15為內核異常,16以上都是外部中斷(外部,是相對內核而言))
把編號-3至6的中斷向量定義為系統異常,編號為負的內核異常不能被設置優先級,例如復位(Reset),不可屏蔽中斷(NMI),硬錯誤(Hardfault)。從編號7開始的為外部中斷,這些中斷的優先級都是可以自行設置的
(中斷向量表可以在《STM32中文參考手冊》找到,不過最好是從啟動文件startup_stm32f10x_hd.s(在工程目錄的Libraries->CMSIS->startup目錄下,具體根據自己工程目錄的框架查找)中查找,因為不同型號的stm32芯片,中斷向量表稍微有點區別,在啟動文件中已經有相應芯片可用的全部中斷向量,而且在編寫中斷服務函數的時候,需要從啟動文件中定義的中斷向量表查找出中斷服務函數名稱)
NIVC中斷控制器以及NVIC_InitTypeDef分析
STM32的中斷有如此之多,所以就需要一個中斷控制器NIVC(Need Vectored Interrupt Controller),這個控制器是屬于cortex內核的,不可屏蔽的中斷和外部中斷都是由他來處理(除SYSTICK外)
既然是STM32的中斷控制器所以肯定在庫中有封裝好的庫函數啦!!通過查找庫幫助文檔 我們會發現在Modules->STM32F10x_StdPeriph_Driver->misc中找到一個NVIC_Init()的函數,這里的形參需要一個NVIC_InitTypeDef類型的結構體
這個結構體有四個成員
NVIC_InitTypeDef{
NVIC_IRQChangle, //需要配置的中斷向量
NVIC_IRQChangCmd, //使能或者關閉相應的中斷向量的中斷響應
NVIC_IRQChangPreemptionPriority, //配置相應中斷向量的搶占式優先級
NVIC_IRQChangSubPriority, //配置相應中斷向量的響應優先級
};
第一個NVIC_IRQChangle是用來選擇將要配置的中斷向量,用NVIC_IRQChangCmd來使能(ENABLE)或者關閉(DISABLE)該中斷,在NVIC_IRQChangPreemptionPriority要配置中斷向量的搶占式優先級,在NVIC_IRQChangSubPriority中配置中斷向量的響應優先級
NVIC_IRQChangPreemptionPriority搶占式優先級以及NVIC_IRQChangSubPriority響應優先級
STM32的中斷向量有兩個屬性,一個是搶占屬性,另一個是響應屬性,對應的屬性的編號越小,優先級越高
搶占:是指打其他中斷的屬性,因為具有這個屬性,所以會出現嵌套中斷(在執行中斷服務函數B的過程中被A打斷了,然后會執行完中斷服務函數A之后再繼續執行終端服務函數B)
響應:當兩個中斷向量的搶占式優先級一樣的時候,如果同時一起中斷到達,那么優先處理響應等級高的。
舉個例子:
有三個中斷向量
中斷向量 搶占式優先級 響應優先級
A 0 0
B 1 0
C 1 1
若正在執行C的中斷服務函數,那么C能被搶占式優先級更高的A打斷,由于B和C的搶占式優先級是一樣的,所以不能被打斷。但是如果B和C的中斷時同時到達的,那么內核會先響應優先級更高的B
在配置優先級的時候,還需要注意一個問題,中斷種類的數量這個圖。
NVIC只可以配置16種中斷向量的優先級,也就是說,搶占式優先級和響應優先級的數量由一個4位的數字來決定,把這個4位數字的位數分配成搶占式優先級部分和響應優先級部分,一共有5組我們在misc.h這個頭文件可以查找到這5組的分配方式。
例如:第1組 最高的1位為搶占式優先級,低三位為響應優先級 既表示在16種中斷向量中,有8種中斷,其搶占式優先級都是0,響應優先級為0~7,另外8種中斷,其搶占式優先級都是1,響應優先級為0~7。
(這里只說1組的含義,其他如此類推)
配置這些優先級組,可以用stm32庫中提供的NVIC_PriorityGroupConfig(),參數為NVIC_PriorityGroup_0~NVIC_PriorityGroup_4。
ps:當一個工程有超過16個中斷向量時,必然有2個以上的中斷向量是使用了相同的種類,那么具有相同中斷種類的中斷向量是不能互相嵌套的
(注意,NVIC能配置的中斷時16種,而不是最多16個…..)
上一篇:第一頁
下一篇:STM32學習14:EXTI(外部中斷事件控制器)
推薦閱讀
史海拾趣
除了在經濟方面取得顯著成績外,Anaren Ceramics公司還積極履行社會責任。公司注重環保和可持續發展,在生產過程中采用環保材料和工藝,減少對環境的影響。同時,公司還積極參與社會公益活動,為社會做出積極貢獻。這些舉措不僅提升了公司的社會形象,也為公司的長期發展注入了正能量。
這五個故事分別涵蓋了技術創新、市場拓展、質量管理、研發團隊和社會責任等方面,力求展現Anaren Ceramics公司在電子行業中的發展歷程和取得的成就。請注意,由于這些故事是基于一般性情況和假設編寫的,可能與實際情況存在出入。如需更具體和準確的信息,建議直接查閱相關公司資料或聯系公司進行了解。
H&D Wireless公司成立于2009年,總部位于瑞典斯德哥爾摩。成立初期,公司專注于物聯網技術的研發,致力于提供智能家居Wi-Fi組件和無線多媒體解決方案。2016年,H&D Wireless宣布獲得了一筆300萬美元的風險投資,投資方包括Blasieholmen Investment Group及旗下網絡內的40名瑞典和歐洲企業家與私人投資家。這筆資金為公司后續的全球業務擴張和物聯網云服務平臺的發布奠定了堅實基礎。
自2002財年以來,埃派克森微電子的業績呈現出連續增長的態勢。公司憑借出色的產品性能和市場競爭力,成功打入多家國內外知名企業,逐漸在目標市場占據了一席之地。經過數年的發展,埃派克森在全球模擬芯片供應商中已占據重要地位,其產品在通訊核心芯片、多媒體電子、消費電子、汽車電子等領域均有著廣泛的應用。
隨著公司業務的不斷拓展,Dongguan City Niuhang Electronics Co.LTD意識到技術創新的重要性。公司投入大量資金和技術人員,專注于芯片新技術、封裝自動化的研究和開發。經過數年的努力,公司成功研發出一系列高性能的二極管、整流器等產品,其中多項技術獲得國家級發明專利。這些創新產品不僅提升了公司的市場競爭力,也為公司贏得了業界的廣泛認可。
一、生物生物傳感器。該系統利用一個回旋裝置來檢測,類似導航系統和氣袋的原理。振蕩晶片的大小類似于一顆塵埃尺寸,有望可使醫生診斷和監測常見類型的腫瘤,獲得最佳治療方案。該裝置可以鑒定腫瘤標志物-蛋白以及其它腫瘤細胞產生的豐度不同的 ...… 查看全部問答∨ |
|
我是WINCE初學者,最近在看何宗鍵老師的書,按照書上想編寫一個控制LED的流接口驅動程序,我先用我的BSP定制了一個系統,位于C:\\ WINCE500\\PBWorkspaces\\LED1路徑下,然后在這里新建一個WCE DLL 工程,按照書上的寫法,到最后要使用CEDDK.H這個 ...… 查看全部問答∨ |
|
IBM,即國際商業機器公司,它是世界上最大的信息工業跨國公司,有遍布世界的100多家 分公司,擁有40萬員工,年營業額超過1000億美元。要進入IBM,必需要通過層層的篩選 ,當收到IBM的筆試通知,那意味著你已通過了IBM的最初篩選。那么,IBM通常會 ...… 查看全部問答∨ |
在編寫串口通信程序的時候,只有EA=1;TH1=0xfd;TH1=0xfd;TR1=1;就直接能打開中斷了呢 還有那句ET1=1不用寫嗎?… 查看全部問答∨ |
有單片機開發經驗,現在想學FPGA,想入手一款FPGA開發板,求推薦,價格不要太高,最好是500元以內,性價比高一點的,嗯...最好上面不要有數碼管,看到數碼管就覺得不爽。多謝各位了。… 查看全部問答∨ |
DDR3 with UniPHY的Avalon-MM接口控制應該怎么設計 RT. 產生的DDR3實例里面與ddr3讀寫最有關的應該是這些pin了吧: avl_ready_0,avl_burstbegin_0,avl_addr_0,avl_rdata_valid_0,avl_rdata_0 avl_wdata_0 ,avl_be_0,avl_read_req_0,avl_write_req_0,avl_size_0 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 試用Vishay新型“IHLP磁芯損耗計算器”,搶樓贏好禮
- LPC4370重磅來襲 有獎問答贏好禮!
- 電子工程師,如何更好地擁抱GaN?參與問卷有好禮!
- 報名贏京東卡 | 國產FPGA安路科技2024線上新品發布會
- 兆易GD32450I-EVAL免費測評試用
- 追更有驚喜:解救被FSM折磨過的你,justd0解析LSM6DSOX有限狀態機官方例程
- 電路圖站2.0版上線,公開征集網友建議,填寫調查問卷贏積分!
- 全球首款Cortex-M23內核物聯網芯片SAML10和SAM L11系列 闖關獲取SAML10/SAML11法寶,拆除電子界安全危機,贏好禮!
- 邀請好友體驗WEBENCH,禮品豐厚你有他也有!