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

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

3天内不再提示

华芯微特MCU的嵌套向量中断控制器与外部中断/事件控制器的使用方法

电子工程师 来源:华芯微特32位MCU 作者:华芯微特32位MCU 2021-06-04 12:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01.

嵌套向量中断控制器(NVIC)

NVIC的全称是Nested vectoredinterrupt controller,即嵌套向量中断控制器。

Cortex-M0和Cortex-M4提供了“嵌套向量中断控制器(NVIC)”用以管理中断事件。其中M0和M4提供的中断优先级及个数不一致,为了让您更加简单的使用这一功能,下面小编将以SWM190为例,给大家展示如何使用SWM系列产品的NVIC。

SWM190系列32位MCU(以下简称SWM190)内嵌ARM CortexTM-M0内核,其中断优先级分为4级,可通过中断优先级配置寄存器(IRQn)进行配置。

特性

l 4位中断优先级

l 支持嵌套和向量中断

l 硬件完成现场的保存和恢复

l 动态改变优先级

l 确定的中断时间

l 可屏蔽中断

在中断发生时,内核比较中断优先级,并自动获取入口地址,并保护现场,将指定寄存器中数据入栈,此过程无需软件参与。中断服务程序结束后,由硬件完成出栈工作。同时支持“尾链”模式及“迟滞”模式,有效的优化了中断发生及背对背中断的执行效率,提高了中断的实时性。嵌套向量中断控制器管理着包括核异常等中断。关于更多的异常和NVIC编程的说明请参考SWM190数据手册及M0权威指南。

02.

外部中断/事件控制器(EXTI

EXTI的全程是External interrupt/event controller,即外部中断/事件控制器,管理了控制器的32个中断/事件线。每个中断/事件线都对应一个电平或者边沿检测,电平检测支持高电平/低电平检测;边沿检测包括上升沿/下降沿/双边沿触发。

EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。

SWM190提供了32个中断供外设与核交互,其排列如表格 1所示。可以通过中断配置模块,将任意模块或具体IO的中断连接至指定中断编号。具体使用参考中断配置模块。

03.

SWM190 EXTI功能配置库函数

下面我们以最简单的按键输入为例,用外部中断的方法实现按键控制。在此例程中,我们将A4设为按键输入引脚,A5设为输出引脚,外接LED灯,通过按键翻转LED的状态来观察现象。

我们之前有讲到GPIO的配置方法,在这里就不在做赘述,将按键引脚通过GPIO_Init函数设为上拉输入,并与外部按键电路连接,将LED输出引脚通过GPIO_Init设置为输出,与外部LED引脚相连。然后进行外部中断配置:

在SWM190固件库中对外部中断的配置进行了说明,下面将根据库函数对SWM190的EXTI配置,首先来看一下EXTI_Init函数的原型void EXTI_Init(GPIO_TypeDef * GPIOx, uint32_t n, uint32_t mode)。这个函数的实现是在SWM190_exti.c文件中,若要使用该函数在相应的应用程序的前面包含SWM190_exti.h头文件。

函数的第一个参数为GPIO_ TypeDef,它是一个结构体类型,该类型在SWM190_gpio.h中被定义。具体参数为指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD、GPIOE;

第二个参数为uint32_t n指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、。。. 。。. PIN14、PIN15;

第三个参数为uint32_t mode,为EXTI触发方式配置,有效值包括EXTI_FALL_EDGE(下降沿触发中断)、EXTI_RISE_EDGE(上升沿触发中断)、EXTI_BOTH_EDGE(双边沿触发中断)、EXTI_LOW_LEVEL(低电平触发中断)、EXTI_HIGH_LEVEL(高电平触发中断);

配置GPIO中断引脚后,需要使能NVIC,将对应中断线连接至NVIC。并将引脚外部中断打开。具体配置函数如下所示:

b59feb96-c4c6-11eb-9e57-12bb97331649.jpg

接下来我们看下中断服务子函数,中断服务子函数与上面配置的外部中断线相对应,在中断服务函数中我们清中断并进行LED的翻转。

b5c45cd8-c4c6-11eb-9e57-12bb97331649.jpg

04.

实验现象

下载好程序后,按下按键时LED点亮,再按下按键时LED熄灭,如此循环。

编辑:jq

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

    关注

    243

    文章

    24434

    浏览量

    687363
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9499

    浏览量

    388647
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190218
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66828
  • NVIC
    +关注

    关注

    0

    文章

    37

    浏览量

    12340

原文标题:华芯微特小课堂--MCU之EXTI

文章出处:【微信号:gh_ed4f95bde4df,微信公众号:华芯微特32位MCU】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCU控制器CH32L103高速电吹风方案

    MCU控制器是整个电吹风控制系统的指挥中心。英尚推出的高速电吹风方案,以MCU控制器CH3
    的头像 发表于 11-27 16:20 143次阅读

    易灵思Sapphire SoC中RISC-V平台级中断控制器深度解析

    随着 RISC -V处理在 FPGA 领域的广泛应用,易灵思 FPGA 的 Sapphire RISC-V 内核凭借软硬核的灵活支持,为开发者提供多样选择。本文深入探讨 Sapphire SoC 中 RISC - V 平台级中断控制器(PLIC),解析其架构与操作机制
    的头像 发表于 11-08 09:35 6719次阅读
    易灵思Sapphire SoC中RISC-V平台级<b class='flag-5'>中断控制器</b>深度解析

    AT32F系列 PWC USART接收唤醒SLEEP

    AT32F系列 PWC USART接收唤醒SLEEP 示例目的演示AT32F系列 PWC USART接收唤醒SLEEP的使用方法。通常任意一个被嵌套向量中断控制器响应的外设
    发表于 11-05 14:06

    RVMCU课堂「12」: 手把手教你玩转RVSTAR—外部中断

    有多个外部中断源,具体包含哪些外部中断,可以在GD32VF103用户手册的第六章:中断/事件控制器
    发表于 10-31 07:39

    关于蜂鸟E203内核中断硬件实现中断嵌套的设计

    嵌套,都不应该响应这个新的中断请求 要实现中断嵌套,需要在中断控制器中增加一个新的模块,用于存储当前被占用的IRQ编号,同时需要在处理每个
    发表于 10-23 07:07

    瑞萨RA系列MCU中断过程介绍

    中断来临的时候会最先经过IRQ寄存,IRQ寄存检测到中断的时候,会向中央处理嵌套向量
    的头像 发表于 09-23 09:45 978次阅读
    瑞萨RA系列<b class='flag-5'>MCU</b>的<b class='flag-5'>中断</b>过程介绍

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

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

    【RA4M2-SENSOR】5、外部中断按键+低功耗模式+功耗测量

    外部中断 ICU ICU是中断控制单元Interrupt Controller Unit。 中断控制器单元(ICU)
    发表于 09-01 20:53

    第六章 外部中断

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

    车载整机控制器 工程机械主机控制器#硕博电子#国产控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年05月26日 09:09:02

    AS32X601驱动系列教程 PLIC_中断应用详解

    平台中断控制器(Platform Level Interrupt Controller,PLIC)是国科安AS32系列MCU芯片的中断控制器,主要对
    的头像 发表于 05-23 17:10 524次阅读
    AS32X601驱动系列教程 PLIC_<b class='flag-5'>中断</b>应用详解

    工程机械控制器厂家 控制器国产替代 #国产控制器#控制器厂家#控制器品牌

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年04月29日 14:15:05

    工程机械控制器如何选型?控制器选型指南 #控制器 #车载控制器 #整车控制器 #控制器选型

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年03月14日 10:54:24

    Y1620工程机械主机控制器 车载智能控制器 CAN总线 #工程机械控制器 #整车控制器 #车载控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年02月10日 15:32:21

    串口中断是内部中断还是外部中断,串口中断是怎么触发的

    串口中断通常被视为外部中断。虽然串口控制器(如USART、UART等)可能集成在微控制器或处理
    的头像 发表于 01-29 15:03 2620次阅读