在系統中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,這樣可以方便外...