第一節原理解讀
打算寫一下中斷,又忍不住想說一下中斷的概念,去書上翻一翻,或者自己在搜索引擎上搜一下,都可以找到一大堆,包括本文寫的這個外部中斷也不例外。如果要寫光是中斷就可以單獨寫一篇了,所以本文直入主題,對于STM32的外部中斷進行詳細的剖析。下圖來自《STM32參考手冊》,從整個架構圖可以知道,外部中斷的功能可以配置六個寄存器。
GPIO的映射關系圖如下所示:第二節配置環境1,打開STM32CubeMX并選擇芯片,下載器配置如下圖。2,選擇按鍵的引腳,配置成外部中斷。如下圖:
3,配置PC15引腳(也就是開發板上LD5的引腳)為輸出模式。
4,選中GPIO,選擇PC14,并且將GPIO的模式配置為外部中斷下降沿有效。如下圖:
5,使能中斷。如下圖。
6,設置時鐘樹,項目路徑,項目名稱等等信息將不再闡述。配置完后生成項目即可。
第三節編寫代碼
1,大家先看看stm32l0xx_it.c的這個函數,這個是一個中斷函數,中斷服務函數里面就調用了GPIO外部中斷處理函數HAL_GPIO_EXTI_IRQHandler(),參數為GPIO_PIN_14,即EXTI14中斷。
2,詳細看看這個函數,GPIO外部中斷處理函數主要就是清除中斷標識位,然后調用中斷回調函數HAL_GPIO_EXTI_Callback()。我們只需重構中斷回調函數,在函數里面添加我們的應用代碼即可。
3,于是,在main.c中添加回調函數,如下:
4,配置下載器等就不再重復闡述了。
第四節 實驗現象
實驗注意事項:
1,程序語句需要位于程序的BEGIN與END之間。
3,CN4所有撥碼開關必須選擇ON DP檔,否則無法下載程序。
實驗現象:
LD1,LD4常亮。LD5上電長量,按下USER按鍵,LD5翻轉。
宗旨:
免費的服務,永遠的開源
說明:
1.本教程免費,開源,禁止用于任何商業用途,違者必究。
2.本教程版權所屬為東莞市東城墨竹公子電子工作室,盜版必究。
-
STM32
+關注
關注
2270文章
10895瀏覽量
355748
發布評論請先 登錄
相關推薦
評論