STM32外部中断解析

简介: STM32外部中断解析

前言

本篇文章将带大家了解STM32F103的外部中断。

一、外部中断是什么

外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去。


二、STM32F103的外部中断

外部中断一共有20条中断线。

通过观察发现不同组的相同引脚号的引脚连接到了相同的外部中断线上。

image.png

其中

外部中断线 EXTI16连接到PVD输出。

外部中断线 EXTI17连接到RTC警告事件。

外部中断线 EXTI18连接到USB唤醒事件。

外部中断线 EXTI19连接到ETH唤醒事件。

image.png

外部中断既可以选择上升沿也可以选择下降沿,也可以同时使用这两个组成双边沿触发。

image.png

三、外部中断的中断号

在stm32f103xe.h里面我们可以看到外部中断及其他中断的中断号。

不是每一个中断线都有一个中断号,有的中断线是共用一个中断号的。

比如EXTI15_10_IRQn = 40

外部中断线10到15就是共用40这个中断号的。

image.png

四、HAL库的外部中断初始化流程

在stm32f1xx_hal_exti.c里面我们可以看到使用外部中断的方法。

image.png

在stm32f1xx_hal_gpio.c里面我们可以看到引脚想要被配置为外部中断需要做的设置。

使用HAL_NVIC_SetPriority()这个函数设置外部中断优先级。

使用HAL_NVIC_EnableIRQ()这个函数使能中断。

image.png

这里我们还需要对void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)这个函数进行重写,_weak代表这个函数是虚函数我们可以对他进行重写,处理我们自己的一些逻辑。

image.png

总结上面内容:

外部中断初始化流程:

1.使用HAL_NVIC_SetPriority设置外部中断的优先级

2.使用HAL_NVIC_EnableIRQ使能外部中断

3.重定向中断服务函数

4.在中断服务函数中调用HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)然后重定向回调函数void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

总结

本篇文章的讲解就到这里了,想要系统学习STM32的小伙伴可以找我一起交流。

下一篇文章将讲解使用外部中断配置按键。

相关文章
|
4月前
|
传感器 开发者
【STM32基础 CubeMX】外部中断
【STM32基础 CubeMX】外部中断
148 44
|
11月前
STM32使用HAL库操作外部中断——实战操作
STM32使用HAL库操作外部中断——实战操作
140 0
|
11月前
STM32使用HAL库操作外部中断——理论讲解
STM32使用HAL库操作外部中断——理论讲解
152 0
|
11月前
野火F1开发板STM32案例-外部中断(按键)使用
野火F1开发板STM32案例-外部中断(按键)使用
75 0
STM32 EXTI外部中断
外部中断 是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去. 外部中断 是指由 外部设备 发出的 中断请求 ,如键盘、鼠标、计时器、网络数据等。外部中断可以提高系统的效率,使系统能够有效地处理外部设备发出的中断请求,从而改善系统的性能。
117 0
STM32 EXTI外部中断
STM32 使用外部中断实现按键模块化
STM32 使用外部中断实现按键模块化
95 0
|
API
STM32 FreeRTOS FreeRTOSConfig.h文件解析
STM32 FreeRTOS FreeRTOSConfig.h文件解析
68 0
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
322 0
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
437 0
【蓝桥杯嵌入式】LCD屏的原理图解析与代码实现(第十三届省赛为例)——STM32
【蓝桥杯嵌入式】LCD屏的原理图解析与代码实现(第十三届省赛为例)——STM32
335 0

推荐镜像

更多