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

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

3天内不再提示

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

工程师邓生 来源:未知 作者:刘芹 2023-10-26 17:47 次阅读

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

作为一款现代化的微控制器,STM32系列芯片在各种应用场合中广泛应用。其中最常见的应用是外部中断。本文将详细介绍如何在STM32中配置外部中断。

1.了解STM32的外部中断结构

在STM32中,外部中断是由NVIC(Nested Vector Interrupt Controller)进行控制的。STM32 的芯片可以选择4个方向上跌沿触发或上升沿触发的外部中断线。这些中断线可以通过中断线控制器(EXTI)进行设置,并可以绑定到不同的GPIO端口上,以实现具体的外部中断功能。在进行外部中断的初始化过程中,需要配置外部中断的触发方式、中断优先级和中断使能等参数

2.配置外部中断的触发方式

STM32支持上升沿、下降沿和双边沿触发方式。在使用STM32的外部中断时,需要通过EXTI设置中断线和触发方式。配置触发方式的具体代码如下:

EXTI_InitStructure.EXTI_Line = EXTI_LineX; //X表示具体的中断线号(0~15)
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_X; //X是具体的触发方式(上升沿、下降沿或双边沿)

3.配置外部中断的中断优先级

在STM32的中断系统中,外部中断也需要有中断优先级来确保系统的正常运行。在配置外部中断时,需要指定中断的优先级。在设置中断优先级时,需要设置中断组和中断响应等级。STM32中断系统支持4个中断优先级分组方式,控制器可以通过设置NVIC_IPR寄存器来设置各个中断的优先级。中断优先级的具体代码如下:

NVIC_InitStructure.NVIC_IRQChannel = EXTIx_IRQn; //x表示具体的中断线号
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = X; //X表示具体的中断响应优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = Y; //Y表示具体的中断抢占优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

4.配置外部中断的中断使能

在完成外部中断的配置以后,还需要使能各个中断。通过NVIC_EnableIRQ函数可以使能指定的外部中断。在外部中断的处理函数中,需要使用NVIC_ClearPendingIRQ函数来清除中断标志位。中断使能的具体代码如下:

NVIC_Init(&NVIC_InitStructure);
EXTI_Init(&EXTI_InitStructure); //启动外部中断
NVIC_EnableIRQ(EXTIx_IRQn); //使能中断
NVIC_ClearPendingIRQ(EXTIx_IRQn); //清除中断标志位

按照以上步骤配置好外部中断以后,就可以在中断触发时进行相应的操作了。总之,在使用STM32进行外部中断的配置时,需要注意以上步骤的细节,特别是中断优先级和中断使能需要长时间测试验证。

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

    关注

    48

    文章

    6812

    浏览量

    147653
  • STM32
    +关注

    关注

    2240

    文章

    10674

    浏览量

    348836
  • 外部中断
    +关注

    关注

    1

    文章

    131

    浏览量

    15598
收藏 人收藏

    评论

    相关推荐

    STM32中断分组及外部中断配置过程分享

    STM32中断分组   STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是
    发表于 04-08 08:05

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

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

    STM32外部中断大问题

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

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

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

    STM32学习笔记一外部中断

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

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

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

    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)

    STM32CUBEMX开发GD32F303(15)----外部中断EXTI

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发板内进行验证。 使用外部中断EXTI进行驱
    的头像 发表于 07-26 15:53 833次阅读
    <b class='flag-5'>STM32</b>CUBEMX开发GD32F303(15)----<b class='flag-5'>外部</b><b class='flag-5'>中断</b>EXTI

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

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

    STM32 LL库中断配置引脚外部中断的方式

    很多情况可以产生中断,开发者可以在CubeMx中NVIC选单、通讯模块选单处配置。请自行探索;部分中断有关的内容在模块讲解时·将会提到。
    的头像 发表于 07-24 14:24 2099次阅读
    <b class='flag-5'>STM32</b> LL库<b class='flag-5'>中断</b><b class='flag-5'>配置</b>引脚<b class='flag-5'>外部</b><b class='flag-5'>中断</b>的方式

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

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

    CC2530 外部中断配置步骤

    介绍CC2530 外部中断配置步骤
    的头像 发表于 07-06 14:41 1707次阅读
    CC2530 <b class='flag-5'>外部</b><b class='flag-5'>中断</b><b class='flag-5'>配置</b><b class='flag-5'>步骤</b>

    STM32F407 外部中断配置步骤

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

    STM32的IO外部中断EXTI的使用

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