STM32单片机外部中断配置讲解

01

单片机外部中断简介

所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断源,其中有两个是外部中断,分别为INT0和INT1,INT0被分配在P3.2引脚,INT1被分配在P3.2引脚,也即是说如果使用51单片机的外部中断0,则必须将信号接在P3.2上,否则无效。

02

举例说明什么是中断

单片机在执行程序时有两种方式:
查询方式
中断方式
所谓查询方式就是单片机一遍一遍的扫描,查看所监视的目标有没有发生变化,是一种主动式的监视方法,用一个成语可以很客观的描述:守株待兔
所谓中断方式就是单片机不主动去监视目标,而是目标主动通知单片机状态发生了变化,是一种被动式的监视方法,也可以用一个成语来形容:不速之客
有一所学校的院墙破了一个洞,为了防止学生半夜跑出去上网,在墙修好之前,学校安排保安每天夜里守在那个洞的旁边监视,这就是守株待兔。到了半夜保安很困想睡觉但是又害怕扣工资,怎么办?这个保安很聪明就在洞口拉了一条绳子把绳子的另一端绑在自己的手腕上,只要有人想出去就会绊倒绳子从而惊醒睡觉的保安,这就是不速之客。这样既不影响保安睡觉,又能捉住半夜出去上网的学生,还能避免保安被扣工资,由此可见通过使用中断大大节省了保安的精力。这就是使用中断的好处。

03

STM32单片机外部中断简介

STM32单片机的每一个GPIO都可以被设置为外部中断输入,根据引脚序号的不同可以将外部中断分为不同的组,分别为PA0-PG0为EXTI0组,以此类推,PA15-PG15为EXTI15组,共16组,并且每一组中同一个时刻只能有一个中断源工作,所以,STM32单片机最多允许同时有16个外部中断。外部中断的分配方式如下表所示:

STM32单片机的外部中断触发方式为边沿触发,即上升沿触发和下降沿触发。

04

STM32外部中断配置步骤

STM32单片机在配置外部中断时可以按照以下步骤来操作:
1.初始化GPIO为输入;
2.开启复用时钟,设置映射关系;
3.设置触发条件;
4.分配中断向量控制器,并使能;
5.编写中断服务函数;

05

STM32外部中断相关的寄存器

1.初始化GPIO时要用到如下寄存器:
APB2ENR:开启GPIO时钟和复用时钟;
CRH:端口配置高寄存器;
CRL:端口配置低寄存器;
EXTICR[0]-EXTICR[3]:外部中断配置寄存器
IMR:中断屏蔽寄存器;
EMR:事件屏蔽寄存器;
FTSR:下降沿触发选择寄存器;

RTSR:上升沿触发选择寄存器
ISER[0]-ISER[3]:NVIC中断向量控制器;

(0)

相关推荐

  • 为什么我学51单片机很顺利学STM32却一头雾水(我学的是电气工程后面主修电梯)

    五年懂行,十年称王. 当初自学转行的我,怎么也没想到自己能从事单片机开发10年. 王不敢称,还算懂行. 10年前我刚毕业,即将面临社会毒打,我慌得一批. 我学的是电气工程,后面主修电梯. 毕业后和大家 ...

  • STM32 GPIO模式汇总分析

    IO也叫GPIO,即通用输入输出端口,主要有一下几种模式: 1.浮空输入模式: 2.上拉输入: 3.下拉输入: 4.模拟输入: 5. 推挽输出: 6. 开漏输出: 7. 复用推挽输出: 8. 复用开漏 ...

  • UC头条:STM32GPIO基本原理与寄存器配置(STM32篇)

    STM32F10X 引脚说明 STM32F103ZET6一共有7组IO口,每组IO口有16个IO,分别为GPIOA~GPIOG,每组分别为PA0到PA16,STM32F103RCT6一个有4组IO口, ...

  • Go 最小硬件编程(第一部分)

    我们能够让 Go 在多低的配置下运行并做一些实用的事情呢? 最近我购买了这个特别便宜的开发板: 购买它,我基于以下三个理由:第一,我(作为一个程序员)从未搞过 STM32F0 系列的开发板:第二,ST ...

  • STM32的8种GPIO输入输出模式深入详解

    输入模式 -输入浮空(GPIO_Mode_IN_FLOATING) -输入上拉(GPIO_Mode_IPU) -输入下拉(GPIO_Mode_IPD) -模拟输入(GPIO_Mode_AIN) 输出模 ...

  • GPIO 软件框架

    GPIO 八种工作模式详解 接着上一篇的讲,我们上一篇研究了 GPIO 的硬件结构,其来源于 STM32 官方手册,研究了 GPIO 的八种工作模式和推挽输出及开漏输出原理,接下来我们研究 GPIO ...

  • 史上最全的LED点灯程序,你都掌握了吗?

    干货福利,第一时间送达! 摘要:你点亮过多少板子的LED灯呢?有很多小伙伴留言说讲一下STM32.FPGA.Liunx他们之间有什么不同.不同点很多,口说无凭,今天就来点亮一下STM32.FPGA和L ...

  • 单片机外部中断知识讲解

    加入论坛的方式:在公众号对话框内,输入数字"1",即可进入论坛,无需注册,就是这么简单.诚邀您的加入. 应某位朋友的要求,讲解一下单片机中断的知识,那今天就以51单片机的外部中断0 ...

  • STM32 GPIO外部中断总结

    一.STM32中断分组:STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处.STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0 ...

  • 51 单片机扩充外部中断

    //给出的电路如下图所示: //图片链接: //http://xiangce.baidu.com/picture/detail/684895d8e7d3b312ef1c7eb503c20233254a ...

  • 用2个按键控4路led解决方案stm32单片机89c51

    用2个按键控4路led解决方案stm32单片机89c51

  • 解决STM32单片机常见问题

    意法半导体STM32系列专为要求高性能.低成本.低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核的32位MCU.意法半导体的STM32基本型系列.增强型系列.USB ...

  • STM32单片机连接HC

    原文链接:https://blog.csdn.net/m0_37655357/article/details/72934643 首先,先来看一下这个模块的基本功能和原理. HC-SR04超声波测距模块 ...

  • 库卡机器人 | 外部轴配置方法

    KUKA外部轴的配置方法 1.连接控制柜和外部轴的动力线和编码器线 (外部轴动力线) (连接机器人底部RDC编码器线) 2.Workvisual外部轴添加与配置 (1)根据机器人控制柜内部实际的KPP ...

  • PLC控制KUKA机器人进行外部自动启动配置方法

    一.不通过程序号而选定好要运行的程序的外部启动机器人 通过下列步骤来外部启动机器人: 步骤1.在T1模式下把用户程序按控制要求插入cell.src里,选定cell.src程序, 把机器人运行模式切换到 ...

  • STM32单片机Bootloader设计(上)

    文 / Edward    STM32的启动文件 STM32作为一款单片机,它的启动方式很简单,即当Boot配置了从内部Flash启动模式之后,一上电程序就会从0x8000000地址处开始执行文件,因 ...