今天給大家分享一點關(guān)于單片機編程的小技巧:
如何統(tǒng)一管理單片機的所有中斷?
1 一般如何處理中斷優(yōu)先級
眾所周知,在使用定時器、外部中斷以及串口,我們都需要對一些寄存器進行配置,例如對 STM32 的外部中斷 5 進行配置時:
同樣,如果需要使用定時器中斷,我們在配置完定時器寄存器之后,還需要配置 NVIC 中斷。
試想,如果在整個程序中,我們需要使用 2 個定時器中斷,3 個串口中斷。
需要 5 個初始化函數(shù)來配置。在配置的函數(shù)中,需要反復(fù)修改的地方也只有 NVIC 這部分。
因為我們在程序的調(diào)試中,可能需要修改中斷優(yōu)先級也就是誰先進行中斷處理,誰后中斷處理。
試想!
如果同時需要修改這 5 個初始化函數(shù)中的 NVIC 配置,是不是需要打開這些函數(shù)!
而且這些初始化函數(shù)不一定在一個文件中,是在多個文件,這得多麻煩!
那么如何解決呢?
2 我們可以換一種方式
最簡單的處理方式:
把 NVIC 中斷管理這部分的代碼都放在一個文件中,統(tǒng)一修改,統(tǒng)一配置
這樣我們就能一次性管理所有的中斷~
3 以 STM32 為例
一 、我們可以把需要使用的中斷管理都放在一個函數(shù),看圖
(圖一)
二 、我們可以把需要使用的中斷全部都配置好放在這個函數(shù)中,不需要使用的中斷可以直接注釋掉。需要的中斷刪掉注釋即可。
(圖二)
個人覺得,這樣管理起來特別方便且美觀。