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