STM32外部中斷

2021-10-02 03:23:29 字數 2153 閱讀 2644

外部中斷函式

#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。程式寫好以後發現始終無法進入中斷,開始查...