STM32F0xx EXIT中斷配置詳細過程

2021-08-20 21:38:23 字數 2317 閱讀 9088

、概述exit外部中斷在使用到按鍵或者開關控制等應用中比較常見,低功耗中斷喚醒也是很常見的一種。因此,exit在實際專案開發中也是比較常見的一種。

stm32f0中外部中斷exit屬於中斷和事件的章節,請看參考手冊第十二章,但需要配合系統配置控制器(system configuration controller)進行操作,為中斷分配引腳,詳情請看參考手冊第十章。

本著免費分享的原則,

如果你覺得分享的內容對你有用,

embedddeveloper

將有

st標準外設庫和參考手冊、資料手冊等都可以在st官網

訪問密碼 f0af

訪問密碼 8c37

ⅲ、準備工作

對於exit

的程式設計,建議大家準備

f0st官網

或到我360

今天總結的軟體工程是基於「tim

ⅳ、外部中斷原理

其實exit

外部引腳中斷的原理很簡單,配置相應引腳為輸入模式,根據電路看是否需要上下拉電阻,將該引腳通過

syscfg

配置為中斷線,再配置

nvic

,編寫中斷處理的事情即可。

ⅴ、**描述

①rcc時鐘

該函式位於bsp.c檔案上面;

我個人習慣第一步配置時鐘,st官方提供的例程也是把配置時鐘放在前面。關於

rcc時鐘的配置比較重要,有好幾次我就是由於忘記配置相應

rcc時鐘,讓我找了很久的問題,最後才發現是

rcc時鐘沒有配置。

注意:外設時鐘不要隨便新增,比如:rcc_apb1

外設不要配置在

rcc_apb2

時鐘裡面【

如:rcc_apb2periphclockcmd(rcc_ahbperiph_dma1, enable);

這樣能編譯過,但是錯誤的

】我每次都提醒rcc

時鐘,是因為很多人就是因為時鐘而導致軟體執行有問題,所以,提醒更多人要注意配置

rcc.

②exit配置

該函式位於bsp.c檔案下面;

注意:該函式將exit

分為三部分,引腳的基本配置、外部中斷線配置、系統控制器配置,每乙個步驟都需要,否則不會響應中斷。

③nvic配置

該函式位於bsp.c檔案下面;

要響應中斷,就需要為其分配中斷優先等級。

注意:外部中斷通道入口不是每乙個中斷分配乙個入口,根據手冊和參考資料可以看得出來分配為:exti0_1_irqn

、exti2_3_irqn

、exti4_15_irqn

;意思就是外部中斷

0-1為同乙個的入口,其他原理相同。

④中斷函式

該函式位於stm32f0xx_it.c檔案下面;

這裡我的操作相對比較簡單,按鍵一次,中斷一次。按下按鍵,延時消抖,變化led

一次,等待按鍵釋放,最後清除中斷標誌位。

注意:圖中紅色標記才是在實際應用中的重點,如果乙個大的工程,有其他人也參與進來了,或者專案有部分**是移植之前的,很有可能開啟了其他中斷,如果這裡不加這一句判斷,很可能程式會死在中斷裡面。

ⅵ、說明

或許你硬體晶元不是提供工程裡面的晶元,但是stm32f0的晶元軟體相容性很好,可以適用於f0其他很多態號的晶元,甚至是f2、f4等晶元上(具體請看手冊、或者親自測試)。

本文章提供的軟體工程是基於st標準外設庫為基礎建立而成,而非使用stm32cubemx建立工程。個人覺得使用st的標準外設庫適合與學習者,stm32cubemx建立工程結構複雜,對於學習者,特別是初學者估計會頭疼。

今天的工程是基於工程「stm32f0xx_tim

基本延時配置詳細過程」修改而來,以上例項總結僅供參考,若有不對之處,敬請諒解。

ⅶ、最後

例項等,不斷更新中......)。

stm32f103外部中斷

void extix init void 外部中斷0服務程式 void exti9 5 irqhandler void 這是簡單的外部中斷的配置,pc7作為中斷輸入 上面補充io口的初始化 gpio initstructure.gpio mode gpio mode ipu pc6配置為快充指示 1...

STM32F1外部中斷例項

使用外部中斷的基本步驟如下 1.設定好相應的時鐘 2.設定相應的中斷 3.io口初始化 4.把相應的io口設定為中斷線路 要在設定外部中斷之前 並初始化 5.在選擇的中斷通道的響應函式中中斷函式。1 開啟時鐘 void rcc config void 設定相應的時鐘所需要的rcc函式在stm32f1...

STM32F4外部中斷設定

c void mpuintinit void void mpu exit it handler h define mpu exit gpio gpioa define mpu exit gpio pin gpio pin 1 define mpu exit rccperiph rcc ahb1per...