基於STM32F103外部IO中斷的按鍵控制程式設計

2021-10-01 11:57:33 字數 1905 閱讀 7556

在系統中sw1按鍵與stm32f103的pb3引腳相連線,sw2按鍵與stm32f103的pa15引腳相連線。

void

key_gpio_config

(void

)

void

exti_config

(void

)

unsigned char bz=0;

//pb3的中斷服務程式

void

exti3_irqhandler

(void

)//按鍵1,右邊的,控制溫度

}//pa15的中斷服務程式

void

exti15_10_irqhandler

(void

)//按鍵2,左邊的,控制濕度

}

注:上述所有程式全部編寫在exit.c檔案中。

在main.c中編寫如下**:

//功能概要:stm32f103c8 滴達定時中斷和溫濕度dht11感測器

//通過按鍵可以控制顯示溫度還是顯示濕度

//pb12 led燈 工作指示燈 2秒週期

//pc13 dht11 data引腳

//數碼管介面,tm1650

//scl pb10

//sda pb11 */

//兩個按鍵 通過中斷實現

//pa15 sw2

//pb3 sw1

//systick中斷在stm32f10x_it.c中

#include "gpio.h"

#include "dht11.h"

#include "exti.h"

#include "delay.h"

#include "systick.h"

#include "i2c.h"

#include "tm1650.h"

extern unsigned char bz;

void

disp

(u8 i,u8 flage)

else

if(bw==

0&& qw==0)

else

if(sw==

0&& bw==

0&& qw==0)

else

tm1650_set

(0x6e

,code

[gw]);

//最右邊

if(flage==0)

else

} int main

(void);

u8 tm_dt=

0x01

;//亮度

u8 i=0;

systeminit()

;systick_init()

;exti_config()

;//初始化中斷配置,必須放在前面

nvic_config()

;//初始化中斷向量,必須放在前面

led_gpio_config()

;key_gpio_config()

;i2c_config()

;delay_ms(50

);tm1650_set

(0x48

,tm_dt)

;//初始化為5級灰度,開顯示

while(1

)else

read_temp

(dht_dat);if

(bz==0)

else

disp

(ad_value,bz);}

}

stm32f103外部中斷

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

STM32f103之外部中斷

一 背景 有個需求,io口檢測上公升沿,然後做相應的動作。在此記錄stm32f103的外部中斷結構及配置方法,以備下次快速上手使用。有許多不太明白,又是老司機 d 幫忙,真的是站在別人的肩膀上會讓你看的更遠,走的更快,感謝老司機。二 正文 stm32f103有68個可遮蔽中斷。但是,真正能用的其實遠...

基於stm32f103的矩陣鍵盤

我現在的任務是做乙個8 8的矩陣鍵盤,制pcb版之前,我用電路板搭了乙個3 3的矩陣鍵盤來模擬一下,設定pa0 pa1 pa2為pp輸出,設定p3 p4 p5下拉輸入。大多數的晶元內部上拉或下拉電阻都是弱上拉或弱下拉,stm32f103的內部也一樣,內部上拉或下拉的電阻阻值約為40k,這樣可以方便外...