資料介紹
前言:
1.要想學(xué)習(xí)STM32中斷,要先掌握STM32對優(yōu)先級的定義;
2.有51單片機(jī)開發(fā)經(jīng)驗(yàn)會比較容易理解中斷優(yōu)先級;
3.本篇博文基于STM32F103ZET6芯片和3.5.0標(biāo)準(zhǔn)庫編寫;
4.本篇博文從寄存器入手,最終實(shí)現(xiàn)編程的步驟;如有不足之處,還請前輩多多指教;
一 基礎(chǔ)知識
1. cortex-m3支持256個中斷,其中包含了16個內(nèi)核中斷,240個外部中斷。(本博文只介紹60個外部可屏蔽中斷)
2. stm32只有84個中斷,包括16個內(nèi)核中斷和68個可屏蔽中斷
3. stm32f103上只有60個可屏蔽中斷,f107上才有68個中斷
4.先占優(yōu)先級也就是搶占優(yōu)先級,概念等同于51單片機(jī)中的中斷。假設(shè)有兩中斷先后觸發(fā),已經(jīng)在執(zhí)行的中斷先占優(yōu)先級如果沒有后觸發(fā)的中斷 先占優(yōu)先級更高,就會先處理先占優(yōu)先級高的中斷。也就是說又有較高的先占優(yōu)先級的中斷可以打斷先占優(yōu)先級較低的中斷。這是實(shí)現(xiàn)中斷嵌套的基礎(chǔ)。
次占優(yōu)先級,也就是響應(yīng)優(yōu)先級,只在同一先占優(yōu)先級的中斷同時觸發(fā)時起作用,先占優(yōu)先級相同,則優(yōu)先執(zhí)行次占優(yōu)先級較高的中斷。次占優(yōu)先級不會造成中斷嵌套。 如果中斷的兩個優(yōu)先級都一致,則優(yōu)先執(zhí)行位于中斷向量表中位置較高的中斷。
NVIC是什么?
嵌套向量中斷控制器;用于為中斷分組,從而分配搶占優(yōu)先級和響應(yīng)優(yōu)先級;
分組的方式有兩種:
(1)Cortex-m3內(nèi)核提供了一種3位寬度的PRIGROUP數(shù)據(jù)區(qū),用于指示一個8位數(shù)據(jù)序列中的小數(shù)點(diǎn)的位置,從而表示中斷優(yōu)先級的分組。見下表:
(2)而實(shí)際上STM32并沒有用到這么多中斷,所以在分組上只分了5個組,并且表示方法有所不同;見下表:
我們在應(yīng)用當(dāng)中只會用到STM32的分組(5組)方式,所以下面著重于5組分組方式;
二 中斷向量表 (STM32F10x系列)
(圖片來自STM32使用手冊,只需看,不需要熟記,知道大概這么多中斷就好)
三 配置中斷相關(guān)寄存器
/*
cortex-m3內(nèi)核分組方式(8組)結(jié)構(gòu)體表達(dá)方式:
*/
typedef struct
{
__IO uint32_t ISER[8];? ? ? ? ? 中斷使能設(shè)置寄存器/*!< 偏移量: 0x000? Interrupt Set Enable Register*/
uint32_t RESERVED0[24];
__IO uint32_t ICER[8];? ? ? ? ? ?中斷清除使能寄存器/*!<偏移量: 0x080? Interrupt Clear Enable Register */
uint32_t RSERVED1[24];
__IO uint32_t ISPR[8];? ? ? ? ? ? 中斷掛起設(shè)置寄存器/*!< 偏移量: 0x100? Interrupt Set Pending Register */
uint32_t RESERVED2[24];
__IO uint32_t ICPR[8];? ? ? ? ? ? 中斷清除掛起寄存器/*!<偏移量: 0x180? Interrupt Clear Pending Register */
uint32_t RESERVED3[24];
__IO uint32_t IABR[8];? ? ? ? ? ? ?中斷激活狀態(tài)位寄存器/*!< 偏移量: 0x200? Interrupt Active bit Register*/
uint32_t RESERVED4[56];
__IO uint8_t? IP[240];? ? ? ? ? ? 中斷優(yōu)先級寄存器/*!<偏移量: 0x300? Interrupt Priority Register (8Bit wide)*/
uint32_t RESERVED5[644];? ? ? ? 軟件觸發(fā)方式寄存器
__O? uint32_t STIR;? ? ? ? ? ? ? ? ? ? ? ? ?/*!< 偏移量: 0xE00? Software Trigger Interrupt Register? ? */
}? NVIC_Type;
/*
STM32分組(5組)方式結(jié)構(gòu)體表達(dá)方式
typedef struct
{
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32學(xué)習(xí)---中斷EXTI(按鍵中斷)
- stm32的NVIC中斷
- STM32NVIC中斷優(yōu)先級
- 基于STM32單片機(jī)模塊練習(xí)——中斷總結(jié)
- STM32學(xué)習(xí)筆記(五)---NVIC
- STM32學(xué)習(xí)筆記---NVIC/EXIT中斷
- 2021-04-16 NVIC中斷優(yōu)先級管理
- 【STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)
- 基于STM32L4的NVIC中斷系統(tǒng)
- STM32按鍵掃描/按鍵中斷/外部中斷資料下載
- Cortex-M3 NVIC與中斷控制資料下載
- STM32單片機(jī)中斷及NVIC的詳細(xì)資料概述
- STM32中的NVIC資料 9次下載
- STM32中斷與嵌套NVIC快速入門 20次下載
- STM32中斷與嵌套快速入門(NVIC) 41次下載
- 【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(3)NVIC 介紹 193次閱讀
- 不會RTOS,是因?yàn)槟銢]搞懂NVIC 686次閱讀
- stm32中斷怎么處理的 2148次閱讀
- 單片機(jī)的NVIC與EXTI中斷詳解 4327次閱讀
- STM32中斷系統(tǒng)的工作流程 2146次閱讀
- STM32的外部中斷 2248次閱讀
- CKS32F4xx系列產(chǎn)品NVIC中斷優(yōu)先級管理單元講解 947次閱讀
- stm32定時器中斷與誤區(qū) 2.7w次閱讀
- STM32中斷過程詳解 1.9w次閱讀
- 51單片機(jī)NVIC中斷控制設(shè)計(jì) 1762次閱讀
- 如何用STM32配置一個EXTIx中斷線的I/O口 3658次閱讀
- STM32的Cortex-M3中斷異常處理 7958次閱讀
- STM32GPIO外部中斷的詳細(xì)解析和總結(jié) 7w次閱讀
- stm32定時器中斷程序 1.3w次閱讀
- 《振南電子STM32視頻教程》第六講:EXTI和NVIC的配置和使用 944次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多