STM32外中断

简介: STM32外中断

初始化需要用到的引脚

GPIO_InitTypeDef GPIO_InitStruct;
//这里GPIOB_8和GPIOE_2是一个按键的两端
// 初始化GPIO,作为中断输入口
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);       // 开时钟
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8;                        // 选择引脚
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;                // 选择模式
GPIO_Init(GPIO_PORT, &GPIO_InitStruct);                     // 载入配置
//按键的另一端,提供高电平
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);       // 开时钟
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;                        // 选择引脚
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;               // 选择模式
GPIO_Init(GPIOE, &GPIO_InitStruct);                       // 载入配置
GPIO_ResetBits(GPIOE, GPIO_Pin_2);

初始化外中断外设

EXTI_InitTypeDef EXTI_InitStruct;
// 初始化EXTI
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);          // 开时钟
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);   // 选择 输入线  
EXTI_InitStruct.EXTI_Line = EXTI_LINE;                        // 选择 中断线
EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;              // 选择中断还是事件
EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising_Falling;   // 选择触发模式
EXTI_InitStruct.EXTI_LineCmd = ENABLE;                        // 使能端
EXTI_Init(&EXTI_InitStruct);

配置外中断优先级

NVIC_InitTypeDef NVIC_InitStruct;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);          // 选择中断组别,每个组别的 主优先级所占位数不同
NVIC_InitStruct.NVIC_IRQChannel = EXTI9_5_IRQn;          // 选择哪一个中断进行配置
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 1;   // 选择主优先级
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;          // 选择次优先级
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;             // 使能
NVIC_Init(&NVIC_InitStruct);
目录
相关文章
|
开发者
STM32中断详解及其编程实践
STM32中断详解及其编程实践
996 1
|
芯片
STM32速成笔记(四)—中断
本文介绍了中断的概念,中断的相关名词,STM32外部中断配置方法以及使用中断的注意事项。给出了外部中断点亮LED程序设计思路和关键代码。
785 0
STM32速成笔记(四)—中断
STM32中断与事件的理解
STM32中断与事件的理解
679 1
|
传感器
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
638 0
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
STM32:定时器定时中断
STM32:定时器定时中断
327 0
STM32:定时器定时中断
|
开发工具 git
STM32:定时器定时中断软件篇(内含:1.实验现象+2.代码编写思路+3.代码部分+4.定时器常用库函数详解)
STM32:定时器定时中断软件篇(内含:1.实验现象+2.代码编写思路+3.代码部分+4.定时器常用库函数详解)
956 0
STM32:定时器定时中断软件篇(内含:1.实验现象+2.代码编写思路+3.代码部分+4.定时器常用库函数详解)
STM32-嵌入式学习笔记03-EXTI中断的分析及应用
STM32-嵌入式学习笔记03-EXTI中断的分析及应用
499 0
STM32-嵌入式学习笔记03-EXTI中断的分析及应用
STM32-嵌入式学习笔记02-中断应用概述
STM32-嵌入式学习笔记02-中断应用概述
342 0
STM32-嵌入式学习笔记02-中断应用概述