找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1895|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32-NVIC中斷管理實(shí)現(xiàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:476077 發(fā)表于 2019-2-13 09:18 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
cortex-m3支持256個中端,其中包含了16個內(nèi)核中斷,240個外部中斷。stm32只有84個中斷,包括16個內(nèi)核中斷和68個可屏蔽中斷。stm32f103上只有60個中斷,f107上才有68個中斷。
中斷是stm32很基礎(chǔ)的一個功能,學(xué)會使用中斷,才可以更好的使用其他的外設(shè)。理解stm32的中斷,必須要先從stm32的中斷優(yōu)先級分組是怎么回事。要理解優(yōu)先級分組,就要先理解什么是先占優(yōu)先級,和次占優(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ōu)先級的中斷同時觸發(fā)時起作用,先占優(yōu)先級相同,則優(yōu)先執(zhí)行次占優(yōu)先級較高的中斷。次占優(yōu)先級不會造成中斷嵌套。 如果中斷的兩個優(yōu)先級都一致,則優(yōu)先執(zhí)行位于中斷向量表中位置較高的中斷。
還需要注意的一點(diǎn)是 這里的中斷優(yōu)先級 高是指 是指是否更接近0級,0級優(yōu)先級是最高的。
那么最低的優(yōu)先級可以是多少?這就涉及了優(yōu)先級分組的概念。 stm32 通過一個中斷向量控制器(NVIC),來分配先占優(yōu)先級和次占優(yōu)先級的數(shù)量。
arm cortex-m3 內(nèi)核中擁有一個3位寬度的的PRIGROUP數(shù)據(jù)區(qū),用來指示一個8位數(shù)據(jù)序列中的小數(shù)點(diǎn)的位置從而表示中斷優(yōu)先級的分組。
舉個例子可以更好的理解: 如果PRIGROUP 數(shù)據(jù)位000 即為0 說明8位數(shù)據(jù)序列中小數(shù)位置在第1位的左邊 為xxxxxxx.y 用于表示中斷優(yōu)先級的分組的含義就是 用7位的數(shù)據(jù)寬度來表示 先占優(yōu)先級的數(shù)量 即為128 用1位的數(shù)據(jù)寬度來表示 次占優(yōu)先級數(shù)量 即為 2
所以arm cortex-m3中有2的三次方 即為8個優(yōu)先級分組 。
但是stm32中只有5個優(yōu)先級分組,表示方法略有不同,參照下表:

stm32-NVIC中斷管理實(shí)現(xiàn).docx

127.85 KB, 下載次數(shù): 6, 下載積分: 黑幣 -5

STM32-NVIC中斷管理實(shí)現(xiàn)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:476077 發(fā)表于 2019-2-13 09:18 | 只看該作者
講的很詳細(xì)
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表