STM32F103 GPIO的外部中斷的使用例子。

2021-07-16 10:58:30 字數 892 閱讀 8258

stm32的gpio可以作為中斷輸入使用,這樣增強了實時檢測性,可以用於外部按鍵或是觸控等使用。如果使用,其實不難,這裡使用標準的韌體庫,加入外部中斷的庫檔案:stm32f10x_exti.c 

在stm32f10x_conf.h  中,開啟 #include "stm32f10x_exti.h"

這裡通過外部觸控的方式,點亮或是關閉乙個led燈的例子,熟悉一下stm32f103 系列外部中斷的使用。

我這裡使用的gpio為:pc11,標頭檔案的gpio巨集定義為:

/****  exti control ****/

void exti_gpio_init(void);

#define rcc_touchout rcc_apb2periph_gpioc

#define touchout_port gpioc

#define touchout_pins gpio_pin_11

#define touchout() gpio_readinputdatabit(touchout_port,touchout_pins)

外部中斷函式實現如下:

void exti_gpio_init(void)

下面為中斷函式的實現方式:

void exti15_10_irqhandler(void)			//這裡為:exti15_10 (外部中斷號的10~15都在這裡實現)

}

因此,就實現了外部中斷的控制。按鍵,如果只有一兩個,不想用輪循掃瞄的方式,就可以用外部中斷的方式判斷。這樣可以增強實時性,也不過多占用cpu資源。

STM32F103的GPIO配置方式

一 gpio的配置過程 1 開啟外設時鐘 2 初始化gpio 配置成輸出模式程式 void gpio config void 說明 1.1在stm32中選用io模式 1 浮空輸入 in floating 浮空輸入,可以做key識別,rx1 2 帶上拉輸入 ipu io內部上拉電阻輸入 3 帶下拉輸入...

STM32F103ZET6 GPIO常用庫函式

標頭檔案 stm32f10x gpio.h 原始檔 stm32f10x gpio.c rcc apb2periphclockcmd rcc apb2periph gpiox,enable void gpio init gpio typedef gpiox,gpio inittypedef gpio ...

STM32F103C8 GPIO輸出設定

剛開始學習微控制器stm32f103c8的使用,按行業慣例,肯定是資深點燈工程師要出場了。本程式中,使用對微控制器暫存器的位址操作的方式進行程式設計。相較庫函式的方法,這種方法雖然可讀性差一些,但更容易理解底層是如何配置並工作的。所有對外設的操作,都可以分為以下三步 1 開啟外設對應的時鐘 2 設定...