#include"stm32f10x.h"voidEXTI0_IRQHandler(void){if(EXTI_GetITStatus(EXTI_Line0)!=RESET){/* 处理中断事件 *//* 关闭中断 */EXTI_ClearITPendingBit(EXTI_Line0);}}intmain(){/* 使能GPIO引脚和EXTI线 */GPIO_InitTypeDef GPIO_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;/* 配置GPIO引脚 */RCC...
首先使能了GPIOA和SYSCFG的时钟,然后将PA0配置为浮空输入模式。接着将PA0连接到EXTI0中断线,并配置EXTI0为下降沿触发的中断模式。最后在NVIC中配置了EXTI0的中断优先级并使能该中断通道。 6.2 EXTI0_IRQHandler函数 这是EXTI0的中断服务程序。当PA0引脚出现下降沿时,会触发该中断服务程序。在程序中,首先检查中断标...
STM32_SetPriority(EXTI0_IRQn,NVIC_PriorityGroup_2,2,2); } /* 函数功能: 外部中断线0 服务函数 */ void EXTI0_IRQHandler(void) { if(WK_UP) { printf("按键WK_UP按下!\n"); LEDO=0; LED1=0; } //清除中断线0上的中断请求 EXTI->PR|=1<<0; } 2、exti.h文件 代码语言:#ifndef EXTI_...
首先是需要用到的外设有:GPIO、AFIO、EXTI、NVIC GPIO:配置引脚的输入输出模式 AFIO:负责选择对应的引脚或者进行引脚重映射。 AFIO上连接了多个引脚,比如PA0~PA15,PB0~PB15,AFIO有多个输入,但是只有16个输出,所以PA0和PB0、PA1和PB1……不能同时使用。 EXTI:为边缘检测器。 用于配置触发相关参数,比如允许哪根...
DCD PVD_IRQHandler ; PVD through EXTI Line detect DCD TAMPER_IRQHandler ; Tamper DCD RTC_IRQHandler ; RTC DCD FLASH_IRQHandler ; Flash DCD RCC_IRQHandler ; RCC DCD EXTI0_IRQHandler ; EXTI Line 0 DCD EXTI1_IRQHandler ; EXTI Line 1
EXTI0_IRQHandlerEXTI1_IRQHandler EXTI2_IRQHandler EXTI3_IRQHandler EXTI4_IRQHandler EXTI9_5_IRQHandler EXTI15_10_IRQHandler 可以看出EXTI_Line0 ~ EXTI_Line4每个中断线对应一个中断函数,中断线EXTI_Line5 ~ EXTI_Line9共用中断函数 EXTI9_5_IRQHandler,EXTI_Line10~EXTI_Line15 共用中断函数 EXTI15_10_IR...
在stm32f10x_it.c文件中定义中断服务函数KEY1_IRQHandler(void) #define KEY1_IRQHandler EXTI0_IRQHandlervoidKEY1_IRQHandler(void){if(EXTI_GetITStatus(KEY1_INT_EXTI_LINE)!=RESET){LED1_TOGGLE;EXTI_ClearITPendingBit(KEY1_INT_EXTI_LINE);}} ...
#define KEY1_INT_EXTI_PINSOURCE EXTI_PinSource0 #define KEY1_INT_EXTI_LINE EXTI_Line0 #define KEY1_INT_EXTI_IRQ EXTI0_IRQn #define KEY1_IRQHandler EXTI0_IRQHandler #define KEY2_INT_GPIO_PORT GPIOC #define KEY2_INT_GPIO_CLK RCC_AHB1Periph_GPIOC ...
static void EXTI_NVIC_Config(void); void EXTI_Key_Config(void); #endif /* __BSP_EXTI_H */ 接下来看中断服务函数stm32f10x_it.c void EXTI0_IRQHandler(void) { // 判断是否发生中断 // 与函数FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line);功能相同 ...
#define KEY_IRQHandler EXTI0_IRQHandler // 初始化函数 void EXTI_Key_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; /*开启按键GPIO口的时钟*/ KEY_INT_GPIO_CLK_ENABLE(); /* 选择按键的引脚 */ GPIO_InitStructure.Pin = KEY_INT_GPIO_PIN; ...