STM32单片机(五)第一节:EXTI外部中断

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习STM32单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

STM3单片机安装软件、各种资料以及源码的路径:
链接:https://pan.baidu.com/s/1snD0uuTfMhchFqOMWvAiHA?pwd=asdf#list/path=%2F
提取码:asdf

链接里压缩包的解压密码:32

本大节主要学习STM32的中断系统和外部中断,包含两部分,第一小节主要学习中断系统的基础知识,第二小节是写两个程序进行练习,即对射式红外传感器计次和旋转编码器计次,最终附上所有的源代码;
本小节主要是学习STM32的中断系统的基础知识。

一、中断基础知识

1.1 中断系统的概念

在这里插入图片描述

  • 中断触发条件有很多,比如对于外部中断来说,可以是引脚发生了电平跳变;对于定时器来说,可以是定时的时间到了;对于串口通信来说,可以是接收到了数据;
  • 中断优先级是为了在多个中断同时申请时,判断一下,应该先处理哪个,如果事件非常紧急,我们就可以将中断优先级设置高一下;当然如果不是很紧急,那么就可以将优先级设置低一些;这样可以更好地安排这些中断事件,防止紧急的事件被别的中断耽误;
  • 把中断程序再次中断的现象,就叫中断嵌套;中断嵌套也是为了照顾非常紧急的中断的;

1.2 中断执行流程

在这里插入图片描述

  • 左边第一个图表示中断打断主程序;当中断来了后,主程序立即暂停,程序由硬件电路自动跳转到中断程序中,当中断程序执行完之后,程序再返回被暂停的地方继续运行;被暂停的地方,我们就称它为“断点”;
  • 中间的图是中断嵌套的执行流程;
  • 右边的图是中断的C语言程序示例。

1.3 STM32中断

在这里插入图片描述

  • 第一条是,68个可屏蔽中断通道,这个中断通道就是中断源的意思;68个中断源,这是是F1系列最多的中断数量;
  • NVIC就是STM32中用来管理中断,分配优先级的;NVIC的中断优先级总共有16个等级;

在这里插入图片描述
除去灰色部分,剩下的就是STM32外设的中断了;

1.4 NVIC基本结构

在这里插入图片描述

NVIC的名字叫做嵌套中断向量控制器;在STM32中,它是用来统一分配中断优先级和管理中断的;
在这里插入图片描述
上图中的n表示有n条线,因为一个外设可能会同时占用多个中断通道;

NVIC输出只有一个中断,NVIC要做的就是对输入的多个中断进行管理,一次只输出一个优先级最高的中断交给CPU处理。

举个例子,NVIC就相当于医院的叫号系统,当然CPU就是主治医师了。

1.5 NVIC优先级分组

在这里插入图片描述
为了处理不同形式的优先级,STM32的NVIC可以对优先级进行分组,分为抢占优先级和响应优先级。

响应优先级可以优先排队,只要优先级够高,可以插队在其他低优先级中断的前面,待CPU处理完当前的中断后优先执行。

抢占优先级可以优先执行,只要优先级够高,则可以打断现在正在处理的中断;一个很鲜明的例子就是中断嵌套;中断嵌套就是很明显的抢占优先级的实例。

二、EXTI外部中断

2.1 EXTI简介

在这里插入图片描述

  • 相同的Pin不能同时触发中断,比如PA0和PB0就不能同时用;或者PA1、PB1、PC1这样的,端口GPIO_Pin一样的,则不能同时用; PA6和PA7、或者PA9和PB19、PB0和PB1,这样的都可以。

2.2 EXTI基本结构

在这里插入图片描述

2.3 AFIO

AFIO是中断引脚选择器;
在这里插入图片描述

上图中的梯形,表示数据选择器;是STM32里很常用的标志。

2.4 EXTI框图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值