資源簡介
下降沿或者上升沿實現(xiàn)外部中斷,控制LED的閃爍,下載即可使用,最好使用proteus8.6或者更高版本打開。親測可用。

代碼片段和文件信息
#include?“exti.h“
#include?“l(fā)ed.h“
#include?“key.h“
#include?“misc.h“
#include?“stm32f10x_exti.h“
#include?“pbdata.h“
#include?“l(fā)cd1602.h“
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學習使用,未經(jīng)作者許可,不得用于其它任何用途
//Mini?STM32開發(fā)板
//外部中斷?驅(qū)動代碼 ???
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//修改日期:2010/12/01??
//版本:V1.0
//版權所有,盜版必究。
//Copyright(C)?正點原子?2009-2019
//All?rights?reserved ??
//////////////////////////////////////////////////////////////////////////////////? ??
?
int?flag;
int?flag1;
//外部中斷初始化函數(shù)
void?EXTIX_Init(void)
{
?
? ??EXTI_InitTypeDef?EXTI_InitStructure;
? ??NVIC_InitTypeDef?NVIC_InitStructure;
?? RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIOENABLE);//外部中斷,需要使能AFIO時鐘
??KEY_Init();//初始化按鍵對應io模式
????//GPIOC.5?中斷線以及中斷初始化配置
?? GPIO_EXTILineConfig(GPIO_PortSourceGPIOAGPIO_PinSource9);
?? EXTI_InitStructure.EXTI_Line=EXTI_Line9;
?? EXTI_InitStructure.EXTI_Mode?=?EXTI_Mode_Interrupt;
?? EXTI_InitStructure.EXTI_Trigger?=?EXTI_Trigger_Falling;//下降沿觸發(fā)
?? EXTI_InitStructure.EXTI_LineCmd?=?ENABLE;
?? EXTI_Init(&EXTI_InitStructure); ? //根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設EXTI寄存器
????//GPIOA.15 ??中斷線以及中斷初始化配置
?? GPIO_EXTILineConfig(GPIO_PortSourceGPIOAGPIO_PinSource15);
?? EXTI_InitStructure.EXTI_Line=EXTI_Line15;
?? EXTI_InitStructure.EXTI_Mode?=?EXTI_Mode_Interrupt;
?? EXTI_InitStructure.EXTI_Trigger?=?EXTI_Trigger_Falling;
?? EXTI_InitStructure.EXTI_LineCmd?=?ENABLE;
?? EXTI_Init(&EXTI_InitStructure); ?? //根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設EXTI寄存器
????//GPIOA.0 ??中斷線以及中斷初始化配置
?? GPIO_EXTILineConfig(GPIO_PortSourceGPIOAGPIO_PinSource0);
??? EXTI_InitStructure.EXTI_Line=EXTI_Line0;
?? EXTI_InitStructure.EXTI_Mode?=?EXTI_Mode_Interrupt;
?? EXTI_InitStructure.EXTI_Trigger?=?EXTI_Trigger_Rising;
?? EXTI_InitStructure.EXTI_LineCmd?=?ENABLE;
?? EXTI_Init(&EXTI_InitStructure); //根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設EXTI寄存器
?
?? NVIC_InitStructure.NVIC_IRQChannel?=?EXTI0_IRQn; //使能按鍵所在的外部中斷通道
?? NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0x02; //搶占優(yōu)先級2?
?? NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?0x02; //子優(yōu)先級1
?? NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE; //使能外部中斷通道
?? NVIC_Init(&NVIC_InitStructure);?? ??//根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設NVIC寄存器
NVIC_InitStructure.NVIC_IRQChannel?=?EXTI9_5_IRQn; //使能按鍵所在的外部中斷通道
?? NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0x02; //搶占優(yōu)先級2,?
?? NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?0x01; //子優(yōu)先級1
?? NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE; //使能外部中斷通道
?? NVIC_Init(&NVIC_InitStructure);?
?
?
??? NVIC_InitStructure.NVIC_IRQChannel?=?EXTI15_10_IRQn; //使能按鍵所在的外部中斷通道
?? NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0x02; //搶占優(yōu)先級2,?
?? NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?0x00; //子優(yōu)先級1
?? NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE; //使能外部中斷通道
?? NVIC_Init(&NVIC_InitStructure);?
?
}
?
void?EXTI0_I
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-11?15:57??protues仿真stm32f103\
?????目錄???????????0??2019-04-11?15:57??protues仿真stm32f103\stm32f103r6仿真\
?????文件???????21413??2019-04-03?18:47??protues仿真stm32f103\stm32f103r6仿真\Backup?Of?GPIO口仿真.pdsbak
?????文件???????21413??2019-04-03?18:47??protues仿真stm32f103\stm32f103r6仿真\GPIO口仿真.pdsprj
?????文件???????14265??2019-04-03?18:47??protues仿真stm32f103\stm32f103r6仿真\GPIO口仿真.pdsprj.asus.asus1.workspace
?????文件???????14158??2018-04-26?13:07??protues仿真stm32f103\stm32f103r6仿真\GPIO口仿真.pdsprj.DESKTOP-332UV6A.happy.workspace
?????文件???????14486??2018-12-19?17:03??protues仿真stm32f103\stm32f103r6仿真\GPIO口仿真.pdsprj.USER-RA1K2PVR24.Administrator.workspace
?????文件???????14265??2017-05-08?14:05??protues仿真stm32f103\stm32f103r6仿真\GPIO口仿真.pdsprj.ZL.Liang.workspace
?????文件???????20856??2019-04-02?19:41??protues仿真stm32f103\stm32f103r6仿真\Last?Loaded?GPIO口仿真.pdsbak
?????文件????????4032??2018-04-26?11:01??protues仿真stm32f103\stm32f103r6仿真\STM32F103R6Demo.hex
?????目錄???????????0??2019-04-11?15:57??protues仿真stm32f103\外部中斷例程\
?????目錄???????????0??2019-04-11?15:57??protues仿真stm32f103\外部中斷例程\ASM\
?????文件???????10308??2008-09-21?13:21??protues仿真stm32f103\外部中斷例程\ASM\cortexm3_macro.s
?????文件???????15761??2010-04-23?10:40??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_cl.s
?????文件???????15503??2019-04-02?19:42??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_hd.s
?????文件???????12376??2011-03-10?10:52??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_ld.s
?????文件???????13651??2010-04-23?10:40??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_ld_vl.s
?????文件???????12765??2011-03-10?10:52??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_md.s
?????文件???????14068??2010-04-23?10:40??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_md_vl.s
?????文件???????15950??2010-04-23?10:40??protues仿真stm32f103\外部中斷例程\ASM\startup_stm32f10x_xl.s
?????文件????????9630??2009-11-21?17:22??protues仿真stm32f103\外部中斷例程\ASM\stm32f10x_startup.s
?????文件????????3941??2019-04-03?18:39??protues仿真stm32f103\外部中斷例程\core_cm3.crf
?????文件??????????93??2019-04-03?18:39??protues仿真stm32f103\外部中斷例程\core_cm3.d
?????文件???????11236??2019-04-03?18:39??protues仿真stm32f103\外部中斷例程\core_cm3.o
?????目錄???????????0??2019-04-11?15:57??protues仿真stm32f103\外部中斷例程\DebugConfig\
?????文件????????2403??2017-11-23?15:41??protues仿真stm32f103\外部中斷例程\DebugConfig\LY-STM32_STM32F103VE_1.0.0.dbgconf
?????文件????????2403??2017-11-23?15:41??protues仿真stm32f103\外部中斷例程\DebugConfig\LY-STM32_STM32F103ZE_1.0.0.dbgconf
?????文件?????????289??2019-04-01?21:43??protues仿真stm32f103\外部中斷例程\delay.crf
?????文件??????????60??2019-04-01?21:43??protues仿真stm32f103\外部中斷例程\delay.d
?????文件????????7820??2019-04-01?21:43??protues仿真stm32f103\外部中斷例程\delay.o
?????文件??????238873??2019-04-03?18:39??protues仿真stm32f103\外部中斷例程\dth11.crf
............此處省略168個文件信息
評論
共有 條評論