0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32外部中断解决方法

Q4MP_gh_c472c21 来源: 玩转嵌入式 作者:刘小舒 2020-10-20 17:43 次阅读

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如何配置外部中断?

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5999

    文章

    43966

    浏览量

    620732
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348707

原文标题:STM32如何配置外部中断?

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    stm32f1如何将外部中断关掉hal库

    Layer)来简化芯片和外设的驱动开发。在STM32F1中,外部中断的关闭是通过HAL库中的相应函数来实现的。下面我将详细介绍如何使用HAL库关闭外部
    的头像 发表于 12-22 13:52 1133次阅读

    外部中断误触发的原因分析和解决方法

    今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发,没有停过。经过一天的学习,找到了几个
    的头像 发表于 11-23 17:09 1278次阅读
    <b class='flag-5'>外部</b><b class='flag-5'>中断</b>误触发的原因分析和<b class='flag-5'>解决方法</b>

    外部中断为什么会误触发?

    今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发,没有停过。经过一天的学习,找到了几个
    的头像 发表于 11-23 08:00 472次阅读
    <b class='flag-5'>外部</b><b class='flag-5'>中断</b>为什么会误触发?

    STM32外部中断大问题

    出现这种情况,明明没有触发外部中断,可是中断服务函数还是不断的++。问题一:电气噪声和抖动电气噪声和抖动是常见的问题,可能会导致STM32外部
    的头像 发表于 11-08 08:00 597次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>外部</b><b class='flag-5'>中断</b>大问题

    STM32基于标准外设库的外部中断配置

    本文介绍了STM32基于标准外设库的外部中断配置,以及基于参考手册如何更加寄存器配置外部中断
    的头像 发表于 11-02 14:13 847次阅读
    <b class='flag-5'>STM32</b>基于标准外设库的<b class='flag-5'>外部</b><b class='flag-5'>中断</b>配置

    STM32如何配置外部中断STM32外部中断配置步骤

    STM32如何配置外部中断STM32外部中断配置步骤  作为一款现代化的微控制器,
    的头像 发表于 10-26 17:47 2066次阅读

    STM32学习笔记一外部中断

    STM32 的每个 IO 都可以作为外部中断中断输入口。STM32F103 的中断控制器支持
    的头像 发表于 10-24 14:12 676次阅读
    <b class='flag-5'>STM32</b>学习笔记一<b class='flag-5'>外部</b><b class='flag-5'>中断</b>

    STM32单片机外部中断简介 STM32单片机外部中断的配置过程

    STM32 单片机是一款高性能、低功耗的 32 位微控制器,具有强大的计算能力、灵活的外设模块以及优秀的扩展性,开发周期短、成本低。在单片机应用中,外部中断是一种重要的硬件触发方式,本文将对
    发表于 08-15 18:21 2002次阅读

    STM32L4外部中断及事件控制模块(EXTI)

    电子发烧友网站提供《STM32L4外部中断及事件控制模块(EXTI).pdf》资料免费下载
    发表于 08-01 10:23 0次下载
    <b class='flag-5'>STM32</b>L4<b class='flag-5'>外部</b><b class='flag-5'>中断</b>及事件控制模块(EXTI)

    STM32CUBEIDE(14)----外部中断EXTI

    外部中断和事件控制器 (EXTI) 管理外部和内部异步事件 / 中断,并生成相应的事件请求到CPU/ 中断控制器和到电源管理的唤醒请求。本例
    的头像 发表于 07-26 14:33 950次阅读
    <b class='flag-5'>STM32</b>CUBEIDE(14)----<b class='flag-5'>外部</b><b class='flag-5'>中断</b>EXTI

    STM32单片机学习笔记(8):外部中断

    利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。本项目需要实现的功能就是利用CubMX配置外部中断,由
    发表于 07-20 15:32 490次阅读
    <b class='flag-5'>STM32</b>单片机学习笔记(8):<b class='flag-5'>外部</b><b class='flag-5'>中断</b>

    STM32F407 外部中断配置步骤

    介绍STM32F407外部中断配置步骤,以按键为例,实现外部中断配置,使用按键触发中断进行LED
    的头像 发表于 07-06 14:31 1024次阅读
    <b class='flag-5'>STM32</b>F407 <b class='flag-5'>外部</b><b class='flag-5'>中断</b>配置步骤

    STM32的IO外部中断EXTI的使用

    的方式访问输入引脚,还可以通过另外一种叫做外部中断的方式来对引脚的输入信号进行检测,本篇首先介绍下EXTI的结构,接着介绍外部中断的相关概念,对ST
    的头像 发表于 06-22 10:21 1176次阅读
    <b class='flag-5'>STM32</b>的IO<b class='flag-5'>外部</b><b class='flag-5'>中断</b>EXTI的使用

    STM32CubeMx外部中断基本使用方法

    第一步:现在STM32CubeMx 中配置所需要IO口外部中断模式。
    发表于 05-31 15:32 2809次阅读
    <b class='flag-5'>STM32</b>CubeMx<b class='flag-5'>外部</b><b class='flag-5'>中断</b>基本使用<b class='flag-5'>方法</b>

    基于STM32单片机外部中断实验使用库文件设计源代码

    基于STM32单片机外部中断实验使用库文件设计源代码
    发表于 04-26 14:35 1次下载