題外話:
幾乎所有的要學(xué)習(xí)的實(shí)在或虛擬的事物(或僅僅是一個(gè)理論)都可以用下面的方法對(duì)其了解;
但對(duì)于具體某一個(gè)事物不一定需要全部研究下面的項(xiàng)目;
什么是XXX
為什么要XXX
XXX的分類
XXX的組成
XXX的特點(diǎn)
XXX的流程
用及XXX時(shí)注意事項(xiàng)
其他特有項(xiàng)目
-----------------------------------------------
stm32中斷主題:
1什么是中斷
暫停原先的程序或事情,執(zhí)行另外一些程序或事情,執(zhí)行完成后返回原來(lái)的程序。
2為什么要中斷
因?yàn)榱硪恍┏绦蚧蚴虑楸饶阍日谧龅氖虑橐匾蛘哌@些突發(fā)事情你是無(wú)法控制它的來(lái)臨的。
3 中斷的分類
按不同方法進(jìn)行分類
3.1 內(nèi)部中斷,外部中斷 (向量表中灰色為內(nèi)部)
3.2 可設(shè)置中斷,固化中斷
3.3 中斷向量表 (cl級(jí)別的芯片有10個(gè)內(nèi)部 ,0~67個(gè)外部,一些沒(méi)用到,其中通用化 中斷編號(hào)0~17,個(gè)性化中斷編號(hào)18~67)
3.4 優(yōu)先級(jí)別 (由主優(yōu)先級(jí)和從優(yōu)先級(jí)組成,主從優(yōu)先級(jí)可以通過(guò)4個(gè)位進(jìn)行設(shè)置)
4 中斷的組成
具體中斷的名稱
中斷的地址 用來(lái)保存一條跳轉(zhuǎn)指令,跳到哪里去
5 中斷的特點(diǎn)
STM32的中斷NVIC是嵌入CORTEX內(nèi)核的。
5.1中斷的反應(yīng)的速度就很快。
5.2中斷可以實(shí)現(xiàn)標(biāo)準(zhǔn)話
(上面兩點(diǎn)是ARM公司做的)
5.3所有外部IO端口都可以作為外部中斷
(上面一點(diǎn)是ST公司做的)
5.4有不同的優(yōu)先級(jí),只有主優(yōu)先級(jí)相同的中斷才可以嵌套,
6 中斷的配置流程
6.1 時(shí)鐘配置
6.2 GPIO配置
6.3 外設(shè)中斷配置(EXTI中斷也屬于外設(shè)中斷)
6.4 NVIC總中斷配置
6.5 中斷程序編寫(xiě)
7 其中 EXTI中斷配置流程及內(nèi)容
官方參考手冊(cè)P206可知 ,3個(gè)觸發(fā),3個(gè)控制
觸發(fā):上升沿 下降沿 軟件中斷事件
控制:中斷屏蔽寄存器 請(qǐng)求掛起寄存器 事件屏蔽寄存器
*不同的外設(shè)中斷配置流程及內(nèi)容可能不同
*其中6.3是變化的,根據(jù)要使用的中斷而定,其他配置基本相同,只是參數(shù)不同。
8 幾個(gè)概念區(qū)分
NVIC,NVIC 外設(shè)中斷,NVIC 外部接口中斷 EXTI
簡(jiǎn)單來(lái)說(shuō) NVIC>NVIC外設(shè)中斷>EXTI
其中NVIC是總的嵌套向量中斷 就是整個(gè)向量表
外設(shè)中斷 是向量表中非灰色地帶
而EXTI僅僅是外設(shè)中斷的一部分(由于它用的比較廣泛且與其他外設(shè)中斷有所不同,因此拿出來(lái)單獨(dú)講)
由于EXTI有很多很多,所以STM把他們進(jìn)行了分組,分了7組,每組對(duì)應(yīng)了一個(gè)NVIC外設(shè)。
EXTIO--------------------------------------------------(包括PA0 PB0 PC0 PD0 PE0 PF0 PG0)
EXTI1
EXTI2
EXTI3
EXTI4
EXTI9_5
EXTI15_10