STM32外部中断配置方法讲解

发布者:骄阳少年最新更新时间:2017-11-11 来源: eefocus关键字: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中断向量控制器;


关键字:STM32  外部中断  配置方法 引用地址:STM32外部中断配置方法讲解

上一篇:STM32(IAR编译) 堆栈溢出 程序跑飞
下一篇:STM32通用定时器详解

推荐阅读最新更新时间:2024-03-16 15:44

STM32裸机编程的基础知识(3)
MCU 启动和向量表 当 STM32F429 MCU 启动时,它会从 flash 存储区最前面的位置读取一个叫作 “向量表” 的东西。“向量表” 的概念所有 ARM MCU 都通用,它是一个包含 32 位中断处理程序地址的数组。对于所有 ARM MCU,向量表前 16 个地址由 ARM 保留,其余的作为外设中断处理程序入口,由 MCU 厂商定义。越简单的 MCU 中断处理程序入口越少,越复杂的 MCU 中断处理程序入口则会更多。 STM32F429 的向量表在数据手册表 62 中描述,我们可以看到它在 16 个 ARM 保留的标准中断处理程序入口外还有 91 个外设中断处理程序入口。 在向量表中,我们当前对前
[单片机]
<font color='red'>STM32</font>裸机编程的基础知识(3)
工程师实战干货分享:77条STM32知识汇总
以下是工程师结合自己的工作实战经验分享,总共有77条STM32知识汇总,建议收藏!SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL等。 1、 SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL 2、 MCO 可以提供4源不同的时钟同步信号,PA8 3、 GPIO口貌似有两个反向串联的二极管用作钳位二极管。 4、 ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥 5、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟 6、 STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中
[单片机]
工程师实战干货分享:77条<font color='red'>STM32</font>知识汇总
基于STM32智能门禁系统(阿里云)
1. 前言 随着社会进步,生活质量提高,尤其是网络技术和计算机越来越和我们的生活紧密联系,这给社会的信息化的安全带来了很多新挑战,有些简单身份识别方式,因其局限性逐渐暴露出其自身缺点,人们开始寻找更加安全性的身份识别方式,由于生物特征具有唯一性和确定性并能随身携带,简单易用等优点,用生物特征确认所有者信息一直是人们所注重的身份识别方式,尤其是近年来智能科技的飞速发展,人们慢慢得不再满足门锁、钥匙、门禁卡等手工安防设备,所以在人类社会发展过程中指纹识别技术应运产生。指纹识别技术具有很强的优势:指纹是人体的一大特点,人类指纹相同的概率几乎为零,等同于说指纹是每个人生来就有、无可替代的密码。因此我相信指纹识别技术一定前景广阔,深受用户喜
[单片机]
基于<font color='red'>STM32</font>智能门禁系统(阿里云)
基于STM32的可遥控智能跟随小车的设计与实现
1、引言 智能小车是一个集自动控制、环境监测、无线遥控等多功能于一体的综合系统,人们习惯称其为移动轮式机器人,目前以单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车。本设计基于单片机的智能小车测距模块、红外遥控模块和小车智能控制模块,通过软硬件设计调试,实现了小车的自动跟随状态。主要利用超声波测距模块实现小车与目标之间距离的实时检测,当两者距离较近小车就“缓慢跟随”,一旦测得距离较远,小车将“加快脚步”,直到追上目标,并且小车可以跟随目标一起转弯,不会“跟丢”。 2、硬件设计 2.1、系统总体设计 为实现小车智能跟随,采用了超声波测距、电机驱动、红外遥控等功能
[单片机]
基于<font color='red'>STM32</font>的可遥控智能跟随小车的设计与实现
STM32中电源各引脚说明分析
一、数字电路中,电源符号 VCC:C=circuit,表示电路的意思,即接入电路的电压; VDD:D=Device,表示器件的意思,即器件的工作电压; VSS:S=Series,表示公共连接的意思,通常指电路公共接地端电压。 总结来说,VCC接电路的电源(±),VSS接电路的地,VDD接器件的电源引脚(±)。 二、STM32中电源各引脚说明 VDDA:A=Analog,表示模拟的意思,所以就是表示模拟器件的工作电压; VSSA:表示模拟器件的公共端地。 VBAT:给后备区域供电,维持包括RTC/BKP寄存器等在内的一些数据的保存。 100引脚的封装中: VREF-:A/D的参考,当需要使用时,必须绑定到VSSA(使得所有模拟器
[单片机]
<font color='red'>STM32</font>中电源各引脚说明分析
【STM32F103攻城笔记】STM32之MDK(Keil)环境搭建(二)
继续上面的操作,我们打开keil,是空的! 点击project - New uVision Project 选择工程的位置并命名工程名字 保存后,选择你对应的芯片, OK后,一个空的环境搭好了! 下一步建立一个代码文件夹, 先说明我们要用的文件有哪些: 然后将上面的文件分配到建立的文件代码,分配方式为 CORE 文件夹: LIB文件夹: 最后在APP里建个main.c文件! 这样我们基本完成了代码的分配! 下面我们只需要将这代码加载到上面keil搭建的环境里就可以了! 打开刚才的环境,为了方便区分,和代码建立相同的文件结构,如图 下一步,我们通过加载文件,将代码文
[单片机]
【STM32F103攻城笔记】<font color='red'>STM32</font>之MDK(Keil)环境搭建(二)
【STC15库函数上手笔记】3、外部中断
STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 外中断初始化函数 Ext_Inilize EXTI_InitTypeDef的定义见于文件 Exti.H 。 typedef struct { u8 EXTI_Mode; u8 EXTI_Polity; u8 EXTL_Interrupt; } EXTI_InitTypeDef; EXTI_Mode:设置外中断的工作模式:初始化INT0、INT1时的取值,初始化INT2,INT3.INT
[单片机]
【STC15库函数上手笔记】3、<font color='red'>外部中断</font>
STM32串口通信之Hello(STM32_11)
一、开发板硬件介绍 1、MCU串口管脚 本程序使用STM32F103ZET6芯片,芯片有5个串口,其中有3个USART和两个UART,本程序使用异步方式,5个串口的管脚。 2、卡发板串口电路 ① USART1的电路连接 开发板中将USART1的TX(USART1_TXD, PA9)和RX(USART1_RXD, PA10)连接至CH340G (USB转串口芯片)的TXD和RXD,在TXD引脚串联一个二极管是为了防止CH340G给单片机供电而使单片机不能正常断电,从而导致程序下载失败。DTR连RSET可以实现程序下载完成后自动复位系统。下载程序时通过RTS将BOOT0拉低。 ② USART3的电路连接
[单片机]
<font color='red'>STM32</font>串口通信之Hello(STM32_11)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved