【STM32Cube笔记】12-配置外部中断

【STM32Cube笔记】系列文章目录

1-基于STM32的VSCode入门级教程前言
2-STM32Cube安装教程
3-STM32CubeIDE汉化
4-STM32Cube配置时钟设置
5-跑马灯引脚配置
6-Cortex-M7内核基本配置
7-新建用于储存代码的文件夹以及c/h文件
8-STM32CubeIDE点亮跑马灯
9-STLink调试
10-异步串口收发USART
11-中断控制器NVIC
12-配置外部中断
13-使用定时器产生PWM输出
14-使用定时器捕获上升/下降沿
15-数模转换AD/DA
16-STM32Cube个性化定制


7.3 配置外部中断

7.3.1 外部中断按钮设置设置
外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单
片机的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理;中断处
理完毕后.又返回被中断的程序处,继续执行下去。
首先我们需要把开发板上的按键设置为外部中断来进行触发,这边选用的是“KEY_Y1”,它是由一个按键串联PH2引脚至地的,因此我们需要用下降沿去触发外部中断。
搜索“PH2”引脚将其模式设置为“GPIO_EXTI2”,同时进入其GPIO配置界面将其设置为下降沿触发外部中断以及默认上拉。
在这里插入图片描述

再接着打开NVIC设置界面将其全局中断开启。
在这里插入图片描述

接着点击保存并生成代码。

7.3.2 外部中断代码添加
由于外部中断由外部信号边沿触发,因此不需要像定时器中断一样需要初始化,只需直接在“NVIC.c”文件中添加外部中断的中断反馈函数即可。
在这里插入图片描述

点击烧录 后,按下“KEY_Y1”,可以看到按下后的LED有明显的频率改变现象发生。
在这里插入图片描述
在这里插入图片描述

附上程序:

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)		//外部中断反馈函数
{
	 if(GPIO_Pin == GPIO_PIN_2)						//判断哪个引脚产生了外部中断
	 {
		 HAL_GPIO_TogglePin(IO_LED0_GPIO_Port, IO_LED0_Pin);	//HAL库控制IO_LED0电平反转
	 }
}

版权声明:本文为CSDN博主「Amadues0_0」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Amadues0_0/article/details/122806397

Amadues0_0

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

stm32cubemx+HAL+串口接收中断

stm32cubemxHAL串口接收中断 在cubemx配置完串口和global interrupt后需要在keil中添加如下代码。 第一步:在main函数中添加接收中断标志位开启函数 HAL_UART_Receive_IT

stm32中断和连续发送数据

目录 一、HAL库中断点亮LED灯 1.建项目部分 2、代码部分 3.运行结果 二、HAL库中断串口通信 1.项目 2.代码部分 三、采用串口DMA发送用特定速率向上位机连续发送数据 1.项目 2.代码 3.烧录及结果 一、HAL库