STM32中斷觸發

2022-07-17 00:33:13 字數 2835 閱讀 7685

使用pb1作為外部中斷觸發,按一次按鍵燈處於亮狀態,在按一次燈滅。

1、先配置gpio埠、復用管腳外設時鐘使能gpio_config();

void gpio_config(void

)

2、配置巢狀向量中斷控制nvic_config(void),使用不同通道時得注意,exti0~exti4對應的是exti0_irqn、exti1_irqn、exti2_irqn、exti3_irqn和exti4_irqn,exti5~exti9都用exti9_5_irqn這個通道,exti10~exti15都用exti15_10_irqn這個通道。

void nvic_config(void

)

3、中斷管腳配置exti_config(void)

void exti_config(void

)

5、主函式呼叫上面幾個函式

int main(void

)}

6、找中斷函式名,函式名都已固定好,可以到startup_stm32f2xx.s中查詢相關中斷函式名,這裡用的是exti1_irqhandler()

__vectors       dcd     __initial_sp               ; top of stack

dcd reset_handler ; reset handler

dcd nmi_handler ; nmi handler

dcd hardfault_handler ; hard fault handler

dcd memmanage_handler ; mpu fault handler

dcd busfault_handler ; bus fault handler

dcd usagefault_handler ; usage fault handler

dcd

0; reserved

dcd

0; reserved

dcd

0; reserved

dcd

0; reserved

dcd svc_handler ; svcall handler

dcd debugmon_handler ; debug monitor handler

dcd

0; reserved

dcd pendsv_handler ; pendsv handler

dcd systick_handler ; systick handler

; external interrupts

dcd wwdg_irqhandler ; window watchdog

dcd pvd_irqhandler ; pvd through exti line detection

dcd tamp_stamp_irqhandler ; tamper and timestamps through the exti line

dcd rtc_wkup_irqhandler ; rtc wakeup through the exti line

dcd flash_irqhandler ; flash

dcd rcc_irqhandler ; rcc

dcd exti0_irqhandler ; exti line0

dcd exti1_irqhandler ; exti line1

//這裡有,把exti1_irqhandler 拷貝下來

dcd exti2_irqhandler ; exti line2

dcd exti3_irqhandler ; exti line3

dcd exti4_irqhandler ; exti line4

7、寫中斷函式,把拷貝的函式名copy到stm32f2xx_it.c檔案中的任意位置

int flag = 0;//

定義全域性變數

void

exti1_irqhandler()

else

}

ok,到此,中斷處理函式就寫好了,按一次按鍵燈處於亮狀態,在按一次燈滅

stm32中斷優先順序 STM32中斷系統

stm32 中斷非常強大,幾乎每個外設都可以產生中斷,因此這裡我們單獨使用一章來介紹它,為後面介紹外設中斷做鋪墊。學習本章可以參考 stm32f10x中文參考手冊 9 中斷和事件章節,cortex m3 權威指南 中文 chpt08 nvic與中斷控制章節。中斷概念 在學習 51 微控制器時,我們就...

STM32中斷巢狀

cortex m3核心支援256個中斷,其中包括16個核心中斷和240個外部中斷,且具有256級的可程式設計中斷設定,而stm32只用了其中一部分。stm32有84個中斷,包括16個核心中斷和68個可遮蔽中斷,具有16級可程式設計中斷優先順序。而我所使用的103系列只有60個可遮蔽中斷。優先順序的判...

STM32 中斷使用

stm32中斷有時候用多了容易亂,特此記錄一下,因為之前一直是m3 m0交叉用,韌體庫有些區別容易弄混,這裡說一下m3外部中斷的配置 步驟 1.將對應的io配置為輸入 2.將io對應的中斷的優先等級用nvic配置好 3.設定好對應io的中斷模式和觸發方式 4.將io所屬的中斷線設為中斷輸入源 1 以...