參考:
Cortex M3權威指南(中文).pdf
STM32F4xx中文參考手冊.pdf
STM32F4開發指南-寄存器版本_V1.1.pdf
https://blog.csdn.net/rng_uzi_/article/details/90762767
記住:搶占和響應的值越小級別越高。
首先stm32的中斷有240個,中斷優先級分兩級搶占和響應。兩種級別,規則如下,需要記住
高搶占可以打斷低搶占
高響應不能打斷低響應(同一搶占級,處理內部的優先級)
中斷7:搶占:2響應:0
中斷3:搶占:2響應:1
同搶占級別,同時發生中斷,響應級別的高先執行,(不是打斷)
中斷6:搶占:3:響應0
上面例子中的中斷 3 和中斷 7 都可以打斷中斷 6 的中斷。而中斷 7 和中斷 3 卻不可以相互
打斷!
設置搶占和響應級別
SCB->AIRCR 寄存器和IP寄存器
首先兩者聯系,SCB->AIRCR 寄存器的10:8位bit,決定了,IP寄存器4:7bit的高四位的搶占與響應位的分配
讀一讀關于IP寄存器的描述,子優先級就是響應優先級
那么SCB->AIRCR 寄存器的10:8位bit怎么決定這個分配呢?
AIRCR 寄存器的10:8位,設置幾位搶占,幾位響應。舉例如下
AIRCR寄存器8:10與IP寄存器4:7
AIRCR寄存器8:10 IP寄存器4:7
0 111 搶占:0bit,響應:4bit
1 110 搶占:1bit,響應:3bit
2 101 搶占:2bit,響應:2bit
3 100 搶占:3bit,響應:1bit
4 011 搶占:4bit,響應:0bit
怎么理解這個表呢?
AIRCR寄存器8:10是111,表示7,即ip寄存器的第四位到第七位為止是響應級(從0開始),本來就ip寄存器的4:7bit,那4,5,6,7bit,都表示響應級。
AIRCR寄存器8:10是100,表示4,ip寄存器的第四位到第四位表示響應級。即一位表示響應級
實例代碼 0x05FA0000 看上面圖片表D13
SCB->AIRCR = 0x05FA0000 | 0x400; // 04h=0100b 中斷優先級分組 搶占:響應=3:1
那么最多就是0:15級搶占,就是15個中斷可相互打斷,即011,沒有響應級 ,4組
如果全是響應,那么哪個高,那個先發生,先執行哪個。即111,第七位以內都是響應級,4:7bit都表示,0組
舉例:這是正點原子外部中斷實驗的優先級設置代碼,兩位的優先級,4,5,即101,第五位以內都是響應級
MY_NVIC_Init(3,2,EXTI2_IRQn,2); //搶占3,子優先級2,組2
MY_NVIC_Init(2,2,EXTI3_IRQn,2); //搶占2,子優先級2,組2
MY_NVIC_Init(1,2,EXTI4_IRQn,2); //搶占1,子優先級2,組2
MY_NVIC_Init(0,2,EXTI0_IRQn,2); //搶占0,子優先級2,組2
這里設置為組2,即:AIRCR寄存器的8:10bit,101。則IP寄存器4:7bit,第6,7bit為設置搶占優先級,4,5bit設置響應優先級
那么就是,4級搶斷,4種響應。所以所有中斷的級別都沒有超過2^2=4。只有0,1,2,3級。
應用:
SCB->AIRCR = 0x05FA0000 | 0x400; //中斷優先級分組 搶占:響應=3:1
8,9,10bit,為100,ip寄存器高四位的4位是響應,5,6,7位是搶占
ip寄存器,8bit寄存器,只用了高四位,111搶占,1響應。
2^3=8級搶斷,2級響應
NVIC->IP[39] = 0xf0; //最低搶占優先級,最低響應優先級1111
39號中斷,最高級中斷,沒有中斷的能打斷。
參考手冊表49,查相應中斷的位置。
NVIC->ISER[1] |= (1<<(39-32)); //使能中斷線39,也就是usart3中斷
256個中斷,每個ISER,32位寄存器,控制32個中斷。需要8個ISER,即ISER[8]寄存器組。
39號中斷,在ISER[1],32,33,34,335,36,37,38,39。第七位置一
39-32=7
上一篇:STM32F407 純寄存器操作GPIO,串口,中斷(專治花里胡哨)
下一篇:正點原子STM32F4筆記 串口使用
推薦閱讀
史海拾趣
Analog Microelectronics GmbH是一家德國的半導體公司,專注于開發和生產模擬集成電路(ICs),以及為汽車、工業和醫療等領域提供解決方案。以下是Analog Microelectronics GmbH公司發展的相關故事:
創立與早期發展:Analog Microelectronics GmbH成立于1984年,總部位于德國巴伐利亞州的蘭格維塔赫鎮。公司的創始人致力于開發高質量的模擬集成電路,以滿足市場對精密電子元件的需求。在創立初期,公司主要專注于生產模擬傳感器和信號處理器件。
技術創新與產品優化:Analog Microelectronics GmbH在技術創新方面持續投入,不斷改進和優化其產品線。公司注重研發和設計,致力于提供高性能、高精度和可靠性的模擬集成電路產品。公司的產品包括壓力傳感器、溫度傳感器、加速度傳感器、電流傳感器等,廣泛應用于汽車電子、工業自動化、醫療器械等領域。
市場拓展與客戶合作:Analog Microelectronics GmbH通過與全球各行業的客戶建立長期穩定的合作關系,不斷拓展市場份額和業務范圍。公司在歐洲、亞洲和北美等地區設立了銷售辦事處和代表處,加強了與客戶的溝通和服務能力,提高了產品的市場競爭力。
質量控制與認證:Analog Microelectronics GmbH嚴格遵循國際質量管理體系標準,對產品的生產過程進行嚴格控制和管理。公司獲得了ISO 9001質量管理體系認證,確保產品質量穩定可靠。此外,公司的產品也符合汽車行業的相關認證標準,如ISO/TS 16949等,為客戶提供高品質的產品和服務。
持續發展與未來展望:作為一家成熟的模擬集成電路供應商,Analog Microelectronics GmbH將繼續致力于技術創新和產品研發,以滿足不斷變化的市場需求。公司將繼續加強與客戶和合作伙伴的合作關系,拓展業務領域,為全球客戶提供更加優質的解決方案和服務。
DS-IMP公司非常重視人才培養和團隊建設。公司建立了完善的人才培養機制,為員工提供豐富的培訓和學習機會。同時,公司還注重團隊建設和文化建設,通過組織各種團隊活動和文化建設活動,增強員工的凝聚力和歸屬感。這些努力使得公司擁有一支高素質、專業化的團隊,為公司的發展提供了堅實的人才保障。
為了進一步擴大業務范圍和提升技術實力,Keil公司決定與美國德克薩斯州理查森的Keil Software Inc進行聯合運營。這一舉措不僅使公司得以接觸更廣闊的市場,還促進了雙方在技術、產品和市場等方面的深度融合。聯合運營后,Keil公司的發展速度明顯加快,逐漸在嵌入式系統開發工具市場上占據了重要地位。
2005年,對于Keil公司來說是一個具有里程碑意義的年份。在這一年,英國的ARM公司看中了Keil在嵌入式系統開發工具領域的領先地位和技術實力,決定對其進行收購。收購完成后,Keil公司正式成為ARM公司的一部分,繼續專注于嵌入式系統開發工具的研發和銷售。這一事件標志著Keil公司進入了一個新的發展階段,也為其未來的發展奠定了堅實的基礎。
為了擴大市場份額,CLC開始實施全球化戰略。他們在世界各地尋找優質的原材料供應商,并與當地的合作伙伴建立長期合作關系。同時,他們還積極參加國際展覽和貿易活動,展示自己的產品和技術實力。這些努力使CLC的品牌影響力逐漸擴大,產品也走進了更多的國家和地區。
面對未來市場的機遇和挑戰,EUPEC制定了明確的發展戰略。公司將繼續加大技術創新和研發投入力度,推動電力半導體技術的進步和應用拓展。同時,EUPEC還將加強與國際知名企業的合作與交流,不斷提升自身的競爭力和影響力。在應對市場變化和挑戰的過程中,EUPEC將始終堅持以客戶為中心的理念,為客戶提供更優質的產品和服務。
請注意,以上故事是基于EUPEC公司的發展歷程和相關信息進行概括和編寫的,并非完全基于事實的直接敘述。如需更詳細和準確的信息,請參考相關官方資料或新聞報道。
呵呵,ARM7、ARM9 還有PXA3XX 等等嵌入式ARM都存在高低溫時容易爆發故障?尤其是主頻越高的CPU,越容易爆發高低溫故障? 這是為什么? 這是因為我們疏忽了對于整個系統中的很多關鍵信號的完整性的研究、分析與設計; 我們的硬件、軟硬件協調設計 ...… 查看全部問答∨ |
我的設備中沒有加聲卡,只有一個蜂器鳴,寫了個蜂鳴器的驅動,WINCE中的函數MessageBeep()如何去實現呢?MessageBeep()都調用了哪些函數和信息?請指點一下,謝謝!… 查看全部問答∨ |
請教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供電(即便在系統 suspend 的時候) 請教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供電(即便在系統 suspend 的時候) 問題起因: 由于 WM 會在系統 suspend 的時候關閉 SD 卡電源,于是導致在系統 awake 之后應用程序所持有的文件句柄失效(短暫失效或者永久失效),進而導 ...… 查看全部問答∨ |
明明顯示數據庫打開失敗,但是可以對數據庫進行操作 BOOL CEvcsqlserverceDlg::OpenDatabase(LPCTSTR szDbName) { HRESULT hr; VARIANT varConn1; //與指定的數據庫 ...… 查看全部問答∨ |
philips isp1581的驅動程序 phkit.sys 提供給應用程序的接口函數有哪些 要編寫philips isp1581的應用程序,現在不知道它的驅動phkit.sys 提供了怎樣的接口函數,哪個達人知道的,告訴一聲,感激不盡。… 查看全部問答∨ |
|
8mA的sink電流比較變態。。。。。。 STM8S沒有Chip_ID比較變態。。。。。。 其他都是浮云。。。。。。 swim.jpg (11.35 KB) 下載次數:32 2009-12-31 15:54 … 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- EEWORLD社區7月明星人物出爐
- 泰克移動多媒體總線系列專題來襲~《HDMI2.0規范測試方案》下載有禮!
- EEWORLD新年有獎競猜,邀你來出題啦!
- 【已結束】PI 直播【適合工業市場輔助電源的碳化硅和氮化鎵 IC】(9:30入場)
- 如何加快你的FPGA設計步伐
- 有獎直播:新能源行業中的電學測試與校準應用
- 看是德科技智慧汽車精彩專題參與問卷調查有好禮!
- 共抗疫情 少出門多學習: 多部TI實用課程奉上, 身體不能在路上就讓靈魂在路上
- MPS 隔離式穩壓 DC/DC 模塊——MIE系列首發,邀你一探究竟!
- 有獎活動 | 英飛凌新品情報站:最新 5V XENSIVTM PAS CO2 傳感器 知識挑戰賽