外部中斷函式
#include
"exti.h"
檔案#include
"led.h"
#include
"key.h"
#include
"delay.h"
#include
"usart.h"
//外部中斷初始化函式
void
extix_init
(void
)void
exti9_5_irqhandler
(void
)//中斷服務函式
exti_clearitpendingbit
(exti_line5)
;//清楚中斷標置位
}
#ifndef __exti_h
檔案#define __exti_h
#include
"sys.h"
void
extix_init
(void);
//io³õê¼»¯
#endif
led初始化#include
"led2.h"
檔案#include
"stm32f10x.h"
void
init_led
(void
)
#ifndef __led_h
檔案#define __led_h
#include
"sys.h"
#define led0 paout(8)
// pa8,設定pa8引腳的電平狀態0和1
#define led1 pdout(2)
// pd2
void
init_led
(void);
#endif
按鍵初始化#include
"key.h"
檔案#include
"delay.h"
void
key_init
(void
)u8 key_scan
(u8 mode)
else
if(key0==
1&&key1==
1&&wk_up==
0)key_up=1;
return0;
}
#ifndef __key_h
//key/**件
#define __key_h
#include
"sys.h"
#define key0 pcin(5)
#define key1 pain(15)
#define wk_up pain(0)
//#define key0 gpio_readinputdatabit(gpioc,gpio_pin_5)//
//#define key1 gpio_readinputdatabit(gpioa,gpio_pin_15)//
//#define wk_up gpio_readinputdatabit(gpioa,gpio_pin_0)//
#define key0_pres 1
//key0
#define key1_pres 2
//key1
#define wkup_pres 3
//wk_up
void
key_init
(void);
u8 key_scan
(u8 mode)
;#endif
主函式#include
"led.h"
檔案#include
"delay.h"
#include
"sys.h"
#include
"key.h"
#include
"usart.h"
#include
"exti.h"
intmain
(void
)}
STM32外部中斷
一 基本概念 arm coetex m3核心共支援256個中斷,其中16個內部中斷,240個外部中斷和可程式設計的256級中斷優先順序的設定。stm32目前支援的中斷共84個 16個內部 68個外部 還有16級可程式設計的中斷優先順序的設定,僅使用中斷優先順序設定8bit中的高4位。stm32可支援...
stm32外部中斷
外部中斷程式配置流程 rcc 時鐘配置 void rcc configuration void 時鐘配置 開啟各路時鐘 rcc apb2periphclockcmd rcc apb2periph usart1 rcc apb2periph gpioa rcc apb2periph afio,enab...
stm32外部中斷
好久沒玩微控制器了,最近閒著沒事想拿出來玩玩,沒想到乙個stm32的外部中斷讓我花費了兩天時間,好的的挫折啊!終於下午除錯成功,下面來說一下我的除錯之路吧!硬體就是兩個按鍵,四個led,led事共陽極接法,按鍵一端接地一端接gpio口,通過按鍵中斷控制led。程式寫好以後發現始終無法進入中斷,開始查...