STM32外部中断解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 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的小伙伴可以找我一起交流。

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

相关文章
|
6月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
231 0
|
8月前
|
传感器
STM32标准库外部中断和定时器知识点总结-2
STM32标准库外部中断和定时器知识点总结
|
8月前
|
传感器
STM32标准库外部中断和定时器知识点总结-1
STM32标准库外部中断和定时器知识点总结
|
8月前
|
传感器 开发者
【STM32基础 CubeMX】外部中断
【STM32基础 CubeMX】外部中断
265 44
STM32 EXTI外部中断
外部中断 是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去. 外部中断 是指由 外部设备 发出的 中断请求 ,如键盘、鼠标、计时器、网络数据等。外部中断可以提高系统的效率,使系统能够有效地处理外部设备发出的中断请求,从而改善系统的性能。
168 0
STM32 EXTI外部中断
STM32使用HAL库操作外部中断——实战操作
STM32使用HAL库操作外部中断——实战操作
286 0
STM32使用HAL库操作外部中断——理论讲解
STM32使用HAL库操作外部中断——理论讲解
252 0
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
425 0
【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32
STM32 使用外部中断实现按键模块化
STM32 使用外部中断实现按键模块化
149 0

推荐镜像

更多