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】欢迎添加关注!文章转载请注明出处。

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

    关注

    6078

    文章

    45594

    浏览量

    674051
  • STM32
    +关注

    关注

    2313

    文章

    11196

    浏览量

    374764

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32G0 系列 CSS 功能及应用问题

    发现的问题进分析,并给出解决方法。2. CSS 功能介绍对于 CSS 的功能的详细说明可以参考对应用户手册中的章节,简单总结如下:HSECSS :• 对 HSE 和 LSE 的时钟丢失做检测。• 时钟
    发表于 04-15 16:16 0次下载

    LAT1599_STM32G0 系列 CSS 功能及应用问题

    分析,并给出解决方法。对于 CSS 的功能的详细说明可以参考对应用户手册中的章节,简单总结如下: HSECSS :• 对 HSE 和 LSE 的时钟丢失做检测。• 时钟丢失检测自动关联到 NMI 中断,对应的中断标志位为 CSS
    发表于 03-11 10:49 0次下载

    C编译器错误与解决方法

    ( )函数未作宣告或未作外部宣告所以无法给其他函数调用 解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void
    发表于 01-22 08:03

    ODF配线架常见故障及解决方法

    ODF配线架常见故障及解决方法如下: 一、接地故障 故障表现: 防雷性能下降,静电积累,甚至引发设备损坏。 光信号传输不稳定,出现误码或中断。 常见原因: 接地端子氧化、松动或接触不良。 接地线
    的头像 发表于 01-05 10:43 657次阅读

    请问C语言中整形溢出的解决方法有哪些?

    C语言中整形溢出的解决方法有哪些?
    发表于 12-29 07:33

    瑞萨RA系列FSP库开发实战指南之DTC外部中断触发传输实验

    本实验的目标是使用外部中断来触发DTC传输,因此需要用到一个按键。
    的头像 发表于 12-26 09:32 4260次阅读
    瑞萨RA系列FSP库开发实战指南之DTC<b class='flag-5'>外部</b><b class='flag-5'>中断</b>触发传输实验

    单片机卡死的原因和解决方法

    ,程序将***停留在这个循环中。 2. 中断问题:某个中断服务程序(ISR)出现错误,导致无法正确返回主程序。例如: void EXTI_IRQHandler(void){ // 处理外部
    发表于 11-25 08:14

    MCU调试典型问题与解决方法

    程序卡死/跑飞 栈溢出: 在启动文件(如startup_stm32fxxx.s)中增大Stack_Size。 使用__get_MSP()检查栈顶是否被改写。 中断冲突: 确认中断优先级分组
    发表于 11-17 07:57

    LVDS接口的显示屏,显示偏暗问题的解决方法

    问题:点亮屏幕后画面显示偏暗 可能原因: 主板输出的LVDS 模式与屏幕的不一致; PWM亮度并未调节到最亮; 解决方法 检查主板的LVDS输出模式是否和屏幕一致; 一般主板端的LVDS模式是可以配置的,配置成与屏幕相同的模式即可; 检查PWM亮度调节是否正常?或者直接给高电平测试;
    发表于 10-09 15:55

    瑞萨RA系列MCU的外部引脚中断详解

    上一章节我们已经详细介绍了NVIC、ICU、ELC、NMI并对RA系列MCU的中断管理系统有个全局的了解,我们这一章节的内容是如何控制外部中断,也是内核里的NVIC的实例应用,这也是RA系列MCU非常重要的一个
    的头像 发表于 09-23 09:38 2194次阅读
    瑞萨RA系列MCU的<b class='flag-5'>外部</b>引脚<b class='flag-5'>中断</b>详解

    telnet连接后,当外部中断触发rt_kprintf时候,telnet服务会卡死怎么解决?

    环境: STM32F407VET6+LAN8720A+RT-Thread4.1.0 1、用的netutils里的telnet服务 2、rt_pin_attach_irq注册的外部中断服务
    发表于 09-11 06:48

    何时使用 GPIO 中断外部中断

    何时使用 GPIO 中断外部中断
    发表于 08-26 07:27

    国产主板无法开机的状况及解决方法

    在计算机的硬件系统中,主板作为连接各个组件的关键枢纽,其稳定运行至关重要。随着国产主板技术的不断发展与普及,了解其常见故障及解决方法,能帮助用户在遇到问题时快速排查修复,保障计算机正常使用。
    的头像 发表于 07-02 09:33 1608次阅读
    国产主板无法开机的状况及<b class='flag-5'>解决方法</b>

    电机常见的噪音、振动问题及解决方法

    ,甚至引发安全隐患。本文将系统分析电机常见的噪音和振动问题,并提供切实可行的解决方法。   一、电机噪音问题及解决方法 电机噪音主要来源于电磁噪音、机械噪音和空气动力噪音三个方面。 1. 电磁噪音 电磁噪音是由于电机内部
    的头像 发表于 06-08 10:25 4475次阅读

    第六章 外部中断

    本章介绍W55MH32的IO口作为外部中断输入的使用。先阐述了NVIC(嵌套向量中断控制器) 的结构、寄存器、优先级及相关函数,再说明EXTI(外部
    的头像 发表于 05-26 16:27 1707次阅读
    第六章 <b class='flag-5'>外部</b><b class='flag-5'>中断</b>