加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

如何一口氣管理幾十個(gè)中斷?

2019/04/12
22
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

今天給大家分享一點(diǎn)關(guān)于單片機(jī)編程的小技巧:

如何統(tǒng)一管理單片機(jī)的所有中斷?

 1   一般如何處理中斷優(yōu)先級
眾所周知,在使用定時(shí)器、外部中斷以及串口,我們都需要對一些寄存器進(jìn)行配置,例如對 STM32 的外部中斷 5 進(jìn)行配置時(shí):


同樣,如果需要使用定時(shí)器中斷,我們在配置完定時(shí)器寄存器之后,還需要配置 NVIC 中斷。

試想,如果在整個(gè)程序中,我們需要使用 2 個(gè)定時(shí)器中斷,3 個(gè)串口中斷。

需要 5 個(gè)初始化函數(shù)來配置。在配置的函數(shù)中,需要反復(fù)修改的地方也只有 NVIC 這部分。

因?yàn)槲覀冊诔绦虻恼{(diào)試中,可能需要修改中斷優(yōu)先級也就是誰先進(jìn)行中斷處理,誰后中斷處理。

試想!

如果同時(shí)需要修改這 5 個(gè)初始化函數(shù)中的 NVIC 配置,是不是需要打開這些函數(shù)!

而且這些初始化函數(shù)不一定在一個(gè)文件中,是在多個(gè)文件,這得多麻煩!

那么如何解決呢?

2   我們可以換一種方式
最簡單的處理方式:

把 NVIC 中斷管理這部分的代碼都放在一個(gè)文件中,統(tǒng)一修改,統(tǒng)一配置

這樣我們就能一次性管理所有的中斷~

  3   以 STM32 為例
一 、我們可以把需要使用的中斷管理都放在一個(gè)函數(shù),看圖

 

(圖一)


二 、我們可以把需要使用的中斷全部都配置好放在這個(gè)函數(shù)中,不需要使用的中斷可以直接注釋掉。需要的中斷刪掉注釋即可。


(圖二)

個(gè)人覺得,這樣管理起來特別方便且美觀。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜