STM32笔记——外部中断的配置

前言:本节以STM32F407为例进行配置 

目录

一、选择对应芯片

 二、配置sys

四、配置外部中断引脚 

五、设置外部中断引脚

六、开启外部中断 

 七、配置时钟

 八、生成工程

HAL库GPIO函数库讲解

1、外部中断服务函数

2、中断回调函数

一、选择对应芯片

常规操作,这里我们选择F407ZGT6 

 二、配置sys

选择Serial Wire 

三、配置RCC

选择高速外部时钟晶振,系统自动配置相应引脚。 

四、配置外部中断引脚 

通过查看开发板原理图,找出按键对应引脚

五、设置外部中断引脚

1、上升沿触发(外部中断触发引脚上的电平从低电平跳转到高电平)

2、下降沿触发(外部中断触发引脚上的电平从高电平跳转到低电平)

3、上下边沿均触发 (外部中断触发引脚上有电平变化)

六、开启外部中断 

七、配置中断优先级 

 

八、配置时钟

 九、生成工程

HAL库GPIO函数库讲解

1、外部中断服务函数

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);

功能:用于清除中断标志位

实例:HAL_GPIO_EXIT_IRQHandler(GPIO_PIN_4); 

2、中断回调函数

void HAL_GPIO_EXIT_Callback(uint16_t GPIO_PIN);

功能:可以理解为中断函数需要体现的动作。 

实例: HAL_GPIO_EXIT_Callback(GPIO_PIN_4) 

以上函数的定义可通过如下方式找到 (或stm32f1xx.it.c中查找),其它函数没怎么用到,不做介绍。

 

 注:weak该回调函数的定义,可以理解为需要重构一个这样的函数。

void HAL_GPIO_EXIT_Callback(uint16_t GPIO_PIN)
	{
		if(GPIO_PIN == GPIO_PIN_2)
			{
				HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_9);
			}
		if(GPIO_PIN == GPIO_PIN_2)
			{
				HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_10);
			}
	}

注:在HAL库中,中断运行结束后不会立刻退出,而是会先进入相对应的中断回调函数,处理该函数中的代码之后,才会退出中断,所以在HAL库中我们一般将中断需要处理代码放在中断回调函数中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值