stm32外部中断

本文详细介绍了STM32的外部中断线、NVIC嵌套向量中断控制器及其配置方法。STM32每个IO口均可作为外部中断输入,中断控制器支持19个外部中断请求。NVIC允许中断分组并设置抢占和响应优先级。配置过程中涉及EXTI初始化、GPIO映射以及NVIC的中断通道开启。STM32CubeMX则提供图形化配置中断的工具,包括中断触发模式、抢占和响应优先级等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. STM32的外部中断线

2.NVIC嵌套向量中断器

3.外部中断、事件控制器(EXTI):

4.STM32CubeMX配置外部中断:


1.外部中断是什么

想象一个场景:你在家里玩游戏,这时候突然来电话了。这时你会停止玩游戏去接电话,电话打完再放下电话继续玩。这一个过程就体现了中断的思想。我们抽象一下,把自己想象成一个单片机系统,玩游戏就是正在执行的主任务,如果没有外界干扰,这个系统会一直执行当前的主任务。而当外部有改变(电话响了)的时候,系统会第一时间响应,从主任务跳转到这个紧急任务中,这个突发的事件就是(外部)中断,而系统处理的紧急任务则是中断处理函数。当紧急任务(接电话)完毕之后,系统又会回到最初的主任务中。

这就是对中断的简单描述。

定义: 专业说法:中断指的是计算机运行中,正在运行事情被打断,需要紧急处理中断是指一个突发事件,中止了CPU当前的工作,转而处理突发事件,处理完成后再回到当前的工作继续执行。

STM32允许多种多样的中断,如外部IO、ADC、USART、I2C、RTC、USB、PVD等

1. STM32的外部中断线

  • STM32的每个IO都可以作为外部中断输入。

  • STM32的中断控制器支持19(20)个外部中断/事件请求:

EXTI0~15:对应外部IO口的输入中断。

EXTI16:连接到PVD输出。

EXTI17:连接到RTC闹钟事件。

EXTI18:连接到USB唤醒事件。

EXTI19 以太网唤醒事件(只适用互联型)

每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。EXTI0 至 EXTI15 用于 GPIO,通过编程控制可以实现任意一个 GPIO 作为 EXTI 的输入源,

EXTI0 可以通过 AFIO 的外部中断配置寄存1(AFIO_EXTICR1) 的 EXTI0[3:0] 位选择配置为 PA0、PB0、PC0、PD0、PE0、PF0、PG0、PH0 或者 PI0。

STM32供IO使用的中断线只有16个,但是STM32F10x系列的IO口多达上百个,STM32F103ZET6(112),STM32F103RCT6(51),那么中断线怎么跟IO口对应上呢?下图就是STM32的外部中断线和IO口的对应关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值