資料介紹
前言:
1.要想學(xué)習(xí)STM32中斷,要先掌握STM32對(duì)優(yōu)先級(jí)的定義;
2.有51單片機(jī)開(kāi)發(fā)經(jīng)驗(yàn)會(huì)比較容易理解中斷優(yōu)先級(jí);
3.本篇博文基于STM32F103ZET6芯片和3.5.0標(biāo)準(zhǔn)庫(kù)編寫(xiě);
4.本篇博文從寄存器入手,最終實(shí)現(xiàn)編程的步驟;如有不足之處,還請(qǐng)前輩多多指教;
一 基礎(chǔ)知識(shí)
1. cortex-m3支持256個(gè)中斷,其中包含了16個(gè)內(nèi)核中斷,240個(gè)外部中斷。(本博文只介紹60個(gè)外部可屏蔽中斷)
2. stm32只有84個(gè)中斷,包括16個(gè)內(nèi)核中斷和68個(gè)可屏蔽中斷
3. stm32f103上只有60個(gè)可屏蔽中斷,f107上才有68個(gè)中斷
4.先占優(yōu)先級(jí)也就是搶占優(yōu)先級(jí),概念等同于51單片機(jī)中的中斷。假設(shè)有兩中斷先后觸發(fā),已經(jīng)在執(zhí)行的中斷先占優(yōu)先級(jí)如果沒(méi)有后觸發(fā)的中斷 先占優(yōu)先級(jí)更高,就會(huì)先處理先占優(yōu)先級(jí)高的中斷。也就是說(shuō)又有較高的先占優(yōu)先級(jí)的中斷可以打斷先占優(yōu)先級(jí)較低的中斷。這是實(shí)現(xiàn)中斷嵌套的基礎(chǔ)。
次占優(yōu)先級(jí),也就是響應(yīng)優(yōu)先級(jí),只在同一先占優(yōu)先級(jí)的中斷同時(shí)觸發(fā)時(shí)起作用,先占優(yōu)先級(jí)相同,則優(yōu)先執(zhí)行次占優(yōu)先級(jí)較高的中斷。次占優(yōu)先級(jí)不會(huì)造成中斷嵌套。 如果中斷的兩個(gè)優(yōu)先級(jí)都一致,則優(yōu)先執(zhí)行位于中斷向量表中位置較高的中斷。
NVIC是什么?
嵌套向量中斷控制器;用于為中斷分組,從而分配搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí);
分組的方式有兩種:
(1)Cortex-m3內(nèi)核提供了一種3位寬度的PRIGROUP數(shù)據(jù)區(qū),用于指示一個(gè)8位數(shù)據(jù)序列中的小數(shù)點(diǎn)的位置,從而表示中斷優(yōu)先級(jí)的分組。見(jiàn)下表:
(2)而實(shí)際上STM32并沒(méi)有用到這么多中斷,所以在分組上只分了5個(gè)組,并且表示方法有所不同;見(jiàn)下表:
我們?cè)趹?yīng)用當(dāng)中只會(huì)用到STM32的分組(5組)方式,所以下面著重于5組分組方式;
二 中斷向量表 (STM32F10x系列)
(圖片來(lái)自STM32使用手冊(cè),只需看,不需要熟記,知道大概這么多中斷就好)
三 配置中斷相關(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)先級(jí)寄存器/*!<偏移量: 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)先級(jí)
- 基于STM32單片機(jī)模塊練習(xí)——中斷總結(jié)
- STM32學(xué)習(xí)筆記(五)---NVIC
- STM32學(xué)習(xí)筆記---NVIC/EXIT中斷
- 2021-04-16 NVIC中斷優(yōu)先級(jí)管理
- 【STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)
- 基于STM32L4的NVIC中斷系統(tǒng)
- STM32按鍵掃描/按鍵中斷/外部中斷資料下載
- Cortex-M3 NVIC與中斷控制資料下載
- STM32單片機(jī)中斷及NVIC的詳細(xì)資料概述
- STM32中的NVIC資料 9次下載
- STM32中斷與嵌套NVIC快速入門(mén) 20次下載
- STM32中斷與嵌套快速入門(mén)(NVIC) 41次下載
- 【GD32 MCU 入門(mén)教程】GD32 MCU 常見(jiàn)外設(shè)介紹(3)NVIC 介紹 193次閱讀
- 不會(huì)RTOS,是因?yàn)槟銢](méi)搞懂NVIC 686次閱讀
- stm32中斷怎么處理的 2148次閱讀
- 單片機(jī)的NVIC與EXTI中斷詳解 4327次閱讀
- STM32中斷系統(tǒng)的工作流程 2146次閱讀
- STM32的外部中斷 2248次閱讀
- CKS32F4xx系列產(chǎn)品NVIC中斷優(yōu)先級(jí)管理單元講解 947次閱讀
- stm32定時(shí)器中斷與誤區(qū) 2.7w次閱讀
- STM32中斷過(guò)程詳解 1.9w次閱讀
- 51單片機(jī)NVIC中斷控制設(shè)計(jì) 1762次閱讀
- 如何用STM32配置一個(gè)EXTIx中斷線的I/O口 3658次閱讀
- STM32的Cortex-M3中斷異常處理 7958次閱讀
- STM32GPIO外部中斷的詳細(xì)解析和總結(jié) 7w次閱讀
- stm32定時(shí)器中斷程序 1.3w次閱讀
- 《振南電子STM32視頻教程》第六講:EXTI和NVIC的配置和使用 944次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 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ī)開(kāi)發(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開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 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é)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多